01 2023 档案
摘要:双端队列是队列的扩展,可以在队列两端进行插入和删除。 代码实现 # -*- coding = utf-8 -*- # @Author: Wchime # @time: 2023/1/23 13:59 # @file: 双端队列.py class DoubleQueue(object): """ 双端
阅读全文
摘要:队列,具有先进先出特点,只允许在一端进行插入操作,在另一端进行删除。 代码实现 # -*- coding = utf-8 -*- # @Author: Wchime # @time: 2023/1/23 13:50 # @file: 队列.py class Queue(object): """ 队列
阅读全文
摘要:归并排序,待排序列表有n个值,则可以看成是n个有序子列表,每个子列表长度为1,然后两两归并,得到n//2个长度为2或者1的子列表,再两两归并,如此重复,直到得到一个长度为n的有序列表。 代码实现 # -*- coding = utf-8 -*- # @Author: Wchime # @time:
阅读全文
摘要:希尔排序,是直接插入排序的改进方法,它通过比较相距一定间隔的元素来进行,各趟比较所用的距离随着算法的进行而减小,直到只比较相邻元素的最后一趟排序为止。 代码实现 # -*- coding = utf-8 -*- # @Author: Wchime # @time: 2023/1/27 16:53 #
阅读全文
摘要:插入排序,在待排序列表中将第一个看作一个有序列表,循环n-1次,将每次的值插入已经排好序的列表中。 代码实现 # -*- coding = utf-8 -*- # @Author: Wchime # @time: 2023/1/27 16:45 # @file: 插入排序.py def sort_i
阅读全文
摘要:选择排序,第一次从n个值选出最小值,然后交换第0个和它的位置;第二次从n-1个值选出最小值,然后交换第1个和它的位置;依次往后类推,经过n-1次完成排序。 代码实现 # -*- coding = utf-8 -*- # @Author: Wchime # @time: 2023/1/27 16:27
阅读全文
摘要:快速排序,在等待排序的n个值中选取一个值做为中间值,将大于中间值的放右边,小于中间值的放左边,然后再分别对左右子表进行上面重复操作,直到子表只有一个值为止。 代码实现 # -*- coding = utf-8 -*- # @Author: Wchime # @time: 2023/1/27 17:0
阅读全文
摘要:冒泡排序是通过比较相邻两个值,如果发生逆序则进行交换,从而使小的值一直往上冒,或者大的值一直往下沉。 代码实现 # -*- coding = utf-8 -*- # @Author: Wchime # @time: 2023/1/27 16:02 # @file: 冒泡排序.py def sort_
阅读全文
摘要:二分查找的列表必须是有序列表。从列表中间开始查找,如果给定的值和中间值相等则查找成功;如果给定的值大于或者小于中间的值,则从表中大于或者小于中间值的那一半中查找,重复上面操作,直到查找成功,或者在某一步中查找区间为空,则查找失败。 代码实现 # -*- coding = utf-8 -*- # @A
阅读全文
摘要:二叉树是由n个节点构成,它有可能是空树,也有可能是非空树。 对于非空树,有且仅有一个根节点,和左右两个不相交的左子树和右子树 左子树和右子树有左右之分,不可颠倒 二叉树的遍历法; 1.深度优先法 前序遍历,访问根节点,遍历左子树,再遍历右子树 中序遍历,遍历左子树,访问根节点,再遍历右子树 后序遍历
阅读全文
摘要:栈是一种仅在尾部进行插入或者删除操作 的线性表,其特点是先进后出,或者是后进先出。 代码实现: # -*- coding = utf-8 -*- # @Author: Wchime # @time: 2023/1/21 10:58 # @file: 栈.py class Stack(object):
阅读全文
摘要:双向链表既可以向前,也可以向后,其节点是由两个指针域,一个指向上一个节点,一个指向下一个节点,和一个数据域构成的。第一个节点的指向前一个指针为None,最后一个节点指向下一个为None 代码实现: # -*- coding = utf-8 -*- # @Author: Wchime # @time:
阅读全文
摘要:单向循环链表,相对于单向链表来说区别就是尾节点不再是指向None,而是指向头节点。 代码实现 # -*- coding = utf-8 -*- # @Author: Wchime # @time: 2023/1/20 15:31 # @file: 单向循环链表.py class Node(objec
阅读全文
摘要:单向链表的方向是单向的,其节点是由一个数据域和一个指针域组成,每个指针域都指向下一个节点,最后一个节点的指针域为None 代码实现: # -*- coding = utf-8 -*- # @Author: Wchime # @time: 2023/1/20 12:02 # @file: 单向链表.p
阅读全文