- 博客(6)
- 收藏
- 关注
原创 10年IT老兵重学数据结构与算法(五)
锻炼自己的写作能力第五弹,今天来谈谈和快速排序类似的归并排序,快速排序是找到合适的位置,先分割无序中的两段,在递归排序,而归并是每一段递归单独排序好,再进行最后的合并。两者的思想类似,但是方式上还是有点差异。话不多说,进入举例子环节{3, 2, 1, 5, 4},...
2022-05-20 21:59:57 165
原创 10年IT老兵重学数据结构与算法(四)
纯属个人爱好,今天第四个回忆下快速排序,说到快速排序,应用很快,其中还包含了递归的思想,排序时间复杂度为O(logn),采取的思想为,先对一整串数据分割,假设有一串数字,3,4,6,1,2,5,以3位基准,比3大的数字替换到右边,比3小的移动到左边,然后重复递归遍历左右区间,最后得到的即是可排序的数组。以下位排序举例:第1轮,3开始,以此往后比对,这里有个左右指针的指向,左边指针从4开始往后比较,右边指针从末尾5开始往左比较移动,4比3大,要和后面的交换,5>3,往左,2<3,4和2交换
2022-05-15 22:01:13 223
原创 10年IT老兵重学数据结构与算法(三)
书接上回,这回继续来复习下选择排序,说来惭愧,之前上大学没有好好系统的掌握好数据结构,但是也入了码农的坑,说道选择排序和前面的冒泡排序、插入排序都是O(n^2)时间复杂度的算法。顾名思义,选择排序为从一堆无需的数字中,每轮找出和第一个比较最小或者最大的数据,并交换,循环完整个数组后,数据有序排列。以下为数组 3,2,1,5,4来举例:第一轮:以3为基准,以此往后选择数据和3 比较,循环到数据结尾,2,1,5,4依次比较,其中1位最小,别选择出来,和3交换位置,[1,2,3,5,4]第二轮,从
2022-05-12 22:36:57 124
原创 10年IT老兵重学数据结构与算法(二)
书接上回,还是从排序算法说起,说下O(n^2)时间复杂度的排序,如插入排序,选择排序具体如下:加入有数组 3,2,1,5,4;需要针对该数组正序排序,数组长度为5,一共需要经过5轮。第0轮,无需比较第一轮,取出2,和3比较,比3小,和3交换位置,变为2,3,1,5,4第二轮,取出1,以此和3,和2比较,均需交换位置,该轮比较两次,比较后结果为1,2,3,5,4第三轮,取出5,改数字比前面的都大,无需移动第四轮,取出4,比5小,需要移动,继续往前移动,比3大,终止,无需比较,最后结
2022-05-11 22:54:27 167
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人