数据结构
招财酷炫猫
长期招财
展开
-
python数据结构之直接插入排序
python数据结构之直接插入排序#-*-encoding:utf-8-*-'''直接插入排序:从序列的第二个元素开始,依次与前一个元素比较,如果该元素比前一个元素大,那么交换这两个元素。该算法适用于少量数据的排序,时间复杂度为O(n^2),是稳定的排序方法。'''def InsertSort(L): for i in range(1,len(L)): key =原创 2017-09-27 09:31:16 · 434 阅读 · 0 评论 -
python数据结构之希尔排序
python数据结构之希尔排序#-*-coding:utf-8-*-'''将序列划分为两部分,将这两部分依次比较,若前大后小,则交换。将步长除以2(向下取整),直到步长=0,依次比较。'''def ShellSort(L): step = len(L)//2 # 设定步长,Python2则用/ while step > 0: print('step = ' +原创 2017-09-27 09:32:56 · 272 阅读 · 0 评论 -
python数据结构之冒泡排序
python数据结构之冒泡排序#-*-coding:utf-8-*-'''冒泡排序:冒泡排序就是两次循环'''def BubbleSort(L): length = len(L) for i in range(0,length): for j in range(i+1,length): if L[i] > L[j]:原创 2017-09-27 09:35:40 · 645 阅读 · 0 评论 -
Python数据结构之单链表
Python数据结构之单链表单链表有后继结点,无前继结点。 以下实现: - 创建单链表 - 打印单链表 - 获取单链表的长度 - 判断单链表是否为空 - 在单链表后插入数据 - 获取单链表指定位置的数据 - 获取单链表指定元素的索引 - 删除单链表指定位置的元素 - 更新单链表指定位置的元素 - 清空单链表class Node(object): """定义类来描述指针"原创 2017-09-27 09:37:25 · 533 阅读 · 0 评论 -
python数据结构之树和二叉树(先序遍历、中序遍历和后序遍历)
python数据结构之树和二叉树(先序遍历、中序遍历和后序遍历)树树是nn(n≥0n\ge 0)个结点的有限集。在任意一棵非空树中,有且只有一个根结点。二叉树是有限个元素的集合,该集合或者为空、或者有一个称为根节点(root)的元素及两个互不相交的、分别被称为左子树和右子树的二叉树组成。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层原创 2017-10-20 11:04:42 · 699 阅读 · 0 评论 -
python数据结构之栈与队列
python数据结构之栈与队列用list实现堆栈stack堆栈:后进先出 如何进?用append 如何出?用pop()>>>>>> stack = [3, 4, 5]>>> stack.append(6)>>> stack.append(7)>>> stack[3, 4, 5, 6, 7]>>> stack.pop()7>>> stack[3, 4, 5, 6]>>> sta原创 2017-10-11 21:54:28 · 579 阅读 · 0 评论