数据结构与算法
random numbers
代码爱好者,憧憬踏入互联网的 大龄-非职业-代码搬砖人。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法学习之排序算法(三)
基数排序一般以10为基数,则元素组成为 0-9,共计 10 组数。排序过程:待排序数组:[20, 9, 4, 10, 31, 25]1、根据个位数分组根据个位数的值 分到对应的组,例如10,20分到编号为0的组;2、根据十位数分组在1分组的基础上,根据十位数分组,规则同1,如果元素只有一位数,则其十位数视作0;此时分组完成,如果其他情况下,还有百位、千位等,继续分组即可;3...原创 2019-12-01 23:13:31 · 141 阅读 · 0 评论 -
算法学习之树与算法
树结构树结构:关键组成:根节点,叶子节点。成员相对关系:父节点,子节点,兄弟节点。树的遍历:按照广度遍历:分层遍历,顺序为从上到下,从左到右。按照深度遍历:根据递归顺序,分为三种,前序即按照中、左、右的顺序,中序即按照左、中、右的顺序,后序按照左、右、中的顺序。算法实现节点类定义:class Node(object): def __init__(self, item, ...原创 2019-11-23 08:12:54 · 179 阅读 · 0 评论 -
算法学习之排序算法(二)
快速排序和归并排序快速排序过程:选择一个元素(通常为序列的第一位元素),将其分别与 序列中其他元素比较大小,将大于其值的元素放在 参照元素的右边,小于的放在其左边,之后 按照上面的过程分别 递归处理 新的序列的左右(参照元素作为划分界限)两部分,直到序列长度为1时,递归完成,则排序也结束了。快速排序的时间复杂度:最好为O(n*logn),最差为O(n**2)归并排序过程:拆分:将包含...原创 2019-11-23 02:23:08 · 190 阅读 · 0 评论 -
搜索算法之二分查找
二分法二分法查找,就是在一个 有序的序列中,查找目标数值,比较目标值与序列中间值的大小,假设序列为递增序列,如果目标值与序列中间值相等,则退出(return True),如果目标值大于中间值,则在中间值右半部分序列中按照前面的方法递归搜索,否则在中间值左半部分序列中按照前面的方法递归搜索,递归终止条件:序列长度为1且完成比较。算法实现实现方法:递归法和循环法。递归方法:def bins...原创 2019-11-22 02:10:26 · 200 阅读 · 0 评论 -
算法学习之排序算法(一)
排序算法本次的排序算法 介绍:选择排序、插入排序和希尔(shell)排序,对于冒泡排序,可以查看另一篇文章:排序算法学习之冒泡排序。选择排序(升序,下同)过程:对于长度为n的序列,第一轮从n个元素中找出最小值(的位置),将其与序列第一位元素交换;然后在第2-n个元素中找到最小值,将其与第二位元素交换,按照上述过程继续 比较和交换,直到完成最后两位元素的比较和交换,排序完成。插入排序过程:...原创 2019-11-20 06:47:13 · 192 阅读 · 0 评论 -
排序算法学习之冒泡排序
冒泡排序冒泡排序算法,是经典的排序算法之一,是一种稳定的排序算法。算法的时间复杂度:n*n,最优情况下,复杂度为 n。算法稳定性:在待排序的序列中,如果存在相同的数值,在排序前后,相同数值之间的相对位置(定性)不发生改变,则为稳定算法,否则就是非稳定算法。冒泡算法的执行过程,以升序排列为例:1、从序列一端的起始位置开始,依次比较当前位置与下一相邻位置的数值大小,如果当前位置数值大于下一相...原创 2019-11-18 00:54:33 · 239 阅读 · 0 评论 -
数据结构学习之栈与队列
栈和队列栈的结构特点:先进后出,后进先出。进口和出口相同。队列结构特点:先进先出。对于普通队列,其入口和出口不同,而对于双端队列,则可以在两端实现 入队列 和 出队列。还有一种阻塞队列,即执行入队和出队操作时,需要考虑 队列状态,比如 队列长度达到其容纳极限,此时无法执行入队操作,那么 入队这个操作会被 阻塞,直到队列有 空间可用。数据结构的代码实现实现语言为python,实...原创 2019-11-17 20:09:20 · 158 阅读 · 0 评论 -
数据结构学习之线性表
线性表线性表,是由若干个数据特性相同的元素的组成有限序列。根据实现方式的不同,可以分为顺序表和链表,顺序表依据结构的差异,可以分为一体式和分离式两种;链表可以分为单向链表、双向链表和环形链表。本文以python编程的方式,对各种数据结构进行描述和实现。顺序表顺序表的结构可以分为表头和数据区两部分。表头用于描述表的信息,表头信息通常包括表容量、已使用情况(当前表成员数量),如果是分离式结...原创 2019-11-10 02:05:14 · 191 阅读 · 0 评论
分享