0%

快速排序算法通过多次比较和交换来实现排序,其排序流程如下:

  1. 首先设定一个分界值,通过该分界值将数组分成左右两部分。
  2. 将大于或等于分界值的数据集中到数组右边,小于分界值的数据集中到数组的左边。此时,左边部分中各元素都小于或等于分界值,而右边部分中各元素都大于或等于分界值。
  3. 然后,左边和右边的数据可以独立排序。对于左侧的数组数据,又可以取一个分界值,将该部分数据分成左右两部分,同样在左边放置较小值,右边放置较大值。右侧的数组数据也可以做类似处理。
  4. 重复上述过程,可以看出,这是一个递归定义。通过递归将左侧部分排好序后,再递归排好右侧部分的顺序。当左、右两个部分各数据排序完成后,整个数组的排序也就完成了。
阅读全文 »

随着大数据、物联网、人工智能、云计算等技术的兴起,可视化越来越受到人们的关注,而暑期学校也已经成为业界学习、了解可视化的重要途径。
此次特别峰会分为四场,分别为概述与前景篇、科学可视化和交互篇、可视化成长篇、可视化跨界篇,诸位讲者将分别从不同维度为大家带来可视化领域的精彩分享。
文章顺序按讲者出场顺序。标题为 “讲者-单位-标题” 的表述方式

阅读全文 »

CRA应用部署二级路由问题

BrowserRouter 路由basename写入window.location.pathname

1
2
3
4
5
6
7
8
9
10
11
12
function App() {
return (
<Provider store={store}>
<BrowserRouter basename={window.location.pathname}>
<div id="container">
<Route path={'/about'} component={AboutPage} />
<Route exact path={'/'} component={IndexPage} />
</div>
</BrowserRouter>
</Provider>
);
}
阅读全文 »

背景


force3D-1.gif

被上图(12.3M 加载较慢)炫酷的视觉效果及强大的数据展示能力所吸引,核心在于三维的力学布局算法以及THREE的荧光效果。THREE部分相对比较容易,瓶颈在三维的布局算法上,一来没找到现成的可以直接搬的轮子(有大神将布局算法封装进了shader从而将节点的坐标计算交给GPU以提升性能,然而在易用性和可复用度上有一定的欠缺),二来有二维的力学图源码可以参考,就想将二维的力学图布局算法引申到三维,在学习算法的同时造个不大不小的轮子。

本文仅介绍算法部分。

阅读全文 »

1、输出信息

1
2
3
4
console.log('Hello World!');
console.info('Something happened…');
console.warn('Something strange happened…');
console.error('Something horrible happened…');
阅读全文 »