数据结构
zhuzuwei
这个作者很懒,什么都没留下…
展开
-
数据结构学习1:简单排序之冒泡排序和插入排序原理及Python实现
1. 冒泡排序(1)原理:比较相邻的两个元素,将值大的元素交换到右边(降序则相反)。 (2) 步骤: a. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 b. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 c. 针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任...原创 2018-06-05 16:59:15 · 852 阅读 · 0 评论 -
数据结构学习2:查找算法之顺序查找和二分查找原理及Python实现
1. 顺序查找(1)原理:顺序查找又称为线性查找,是一种最简单的查找方法。 从表的一端开始,向另一端逐个按要查找的值key 与关键码key进行比较,若找到,查找成功,并给出数据元素在表中的位置;若整个表检测 完,仍未找到与关键码相同的key值,则查找失败,给出失败信息。 说白了就是,从头到尾,一个一个地比,找着相同的就成功,找不到就失败。很明显的缺点就是查找效率低。【适用性】:适...原创 2018-06-05 21:37:12 · 2095 阅读 · 0 评论 -
数据结构学习3:选择排序和快速排序原理及Python实现
1. 选择排序(1)原理:首先在未排序的序列里找到最小(大)元素,放到序列的首端,再从剩余元素中找到最小(大)的元素,放到序列的尾端。依次循环,直到排序完成。(2)时间复杂度:选择排序交换此处是处于0-(n-1)次之间,需要比较n(n-1) / 2次,赋值操作次数在0-3(n-1)次之间,因此平均时间复杂度为O(n**2)(3)空间复杂度:算法的空间复杂度并不是计算实际占用的空间,而是计算整个算法...原创 2018-06-06 17:15:27 · 491 阅读 · 0 评论 -
数据结构学习4:归并排序和希尔排序的基本思想
选择排序和快速排序原理及实现简单排序之冒泡排序和插入排序原理及Python实现1. 归并排序: 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。(1)分而治之可以看到这种结构很...转载 2018-06-07 09:01:08 · 5741 阅读 · 0 评论