
数据结构与算法
数据结构与算法基础
满床清梦覆星河
这个作者很懒,什么都没留下…
展开
-
数据结构与算法之二分查找
二分查找又称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法,这种算法建立在有序数组的基础上;实现思路: ① 找出位于数组中间的值,并存放在一个变量temp中 ② 将需要找到的key和temp比较 ???? 如果key大于temp,则把数组中间位置作为下一次计算的起点,并重复①和② ④ 如果key小于temp,则把数组中间位置作为下一次...原创 2020-03-18 12:54:49 · 369 阅读 · 1 评论 -
数据结构与算法之快速排序
快速排序是冒泡排序的一种改进版;思想: 通过一次排序将要排序的数组分成两部分,其中一部分所有数据都比另外一部分的所有数据要小,然后再按照此方法对两部分快速排序,整个过程可以递归进行;实现思路: ① 以第一个关键字K1为控制字,将数组分成两个子区,使左子区所有关键字都小于等于K1,右子区都大于等于K1,最后控制字处于两个子区间中间的位置,子区数据仍无序; ② 将左...原创 2020-03-18 12:38:11 · 223 阅读 · 0 评论 -
数据结构与算法之冒泡排序
1.原理: 比较两个相邻的元素,将值大的元素交换到右边2.思路: 依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面。 (1)第一次比较:首先比较第一和第二个数,将小数放在前面,将大数放在后面。 (2)比较第2和第3个数,将小数 放在前面,大数放在后面。 … (3)如此继续,知道比较到最后的两个数,将小数放在前面,大数放在后面,重复步骤,直至全部排...原创 2020-03-18 10:39:44 · 258 阅读 · 0 评论 -
数据结构与算法之归并排序
归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 平均时间复杂度均为O(nlogn),空间复杂度为: O(n); 详细分析直达链接:https://www.cnblo...转载 2020-03-18 10:09:09 · 254 阅读 · 0 评论