
数据结构(python)
勉旃
不认命,心中所愿皆能实现;不将就,不为世俗只为热爱。
展开
-
python二叉树的创建与遍历
二叉树的基本概念:一个结点的层次直观上来说就是其所在的行,其中根结点层次为1(第一行),其子结点层次为2(第二行),以此类推二叉树的深度(高度):指的是二叉树中的最大叶子结点所在的层。二叉树的深度=max(左子树深度,右子数深度)+1,可用递归的方式实现。二叉树结点的度:指该结点分支的个数(0,1,2)完全二叉树:若设二叉树的高度为h,除第 h 层外,其它各层 (1-h-1) 的结...原创 2018-08-09 22:22:35 · 1309 阅读 · 0 评论 -
python 单链表的操作
链表由一系列不必在内存中相连的结构构成,这些对象按线性顺序排序。每个结构含有表元素和指向后继元素的指针。最后一个单元的指针指向NULL。为了方便链表的删除与插入操作,可以为链表添加一个表头。单链表双链表 链表的常用方法:LinkedList() 创建空链表,不需要参数,返回值是空链表 is_empty() 测试链表是否为空,不需要参数,返回值是布尔值 append(data) 在尾...原创 2018-08-29 16:13:10 · 2129 阅读 · 0 评论 -
python 队列与栈的实现
1、Python数据结构——队列队列是一种列表,不同的是队列只能在队尾插入元素,在队首删除元素。队列是一种先进先出(First-In-First-Out,FIFO)的数据结构。队列被用在很多地方,比如提交操作系统执行的一系列进程、打印任务池等,一些仿真系统用队列来模拟银行或杂货店里排队的顾客。queue的常用操作:Queue() 定义一个空队列,无参数,返回值是...原创 2018-09-02 10:24:06 · 8308 阅读 · 0 评论 -
python ——两个队列实现一个栈&两个栈实现一个队列
1、两个队列实现一个栈进栈:元素入队列A出栈:判断如果队列A只有一个元素,则直接出队。否则,把队A中的元素出队并入队B,直到队A中只有一个元素,再直接出队。为了下一次继续操作,互换队A和队B。python实现如下:class StackWithTwoQueues(object): #定义两个空队列 def __init__(self): self....原创 2018-09-02 11:16:16 · 2791 阅读 · 1 评论 -
python求最大连续子数组
寻找最大子数组问题:给定数组A:寻找A中的和最大的非空连续子数组。我们称这样的连续子数组为最大子数组(maximum subarray)1、暴力求解:两个循环,时间复杂度为O(n^2)2、用分治策略的求解方法:假定我们要寻找子数组A[low...high]的最大子数组。使用分治技术意味着我们要将子数组划分为两个规模尽量相等的子数组。也就是,找到子数组的中央位置,比如mid,然后考虑...原创 2018-09-03 15:35:08 · 2163 阅读 · 0 评论 -
python实现最长公共子序列的求解
(待完善...)最长公共子序列是动态规划基本题目,下面按照动态规划基本步骤解出来。1.找出最优解的性质,并刻划其结构特征序列a共有m个元素,序列b共有n个元素,如果a[m-1]==b[n-1],那么a[:m]和b[:n]的最长公共子序列长度就是a[:m-1]和b[:n-1]的最长公共子序列长度+1;如果a[m-1]!=b[n-1],那么a[:m]和b[:n]的最长公共子序列长度就是MA...原创 2018-09-03 16:55:50 · 2399 阅读 · 0 评论 -
哈夫曼树的构建、编码以及带权路径长计算
给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。构造哈夫曼树的算法如下: 1)对给定的n个权值{W1,W2,W3,...,Wi,...,Wn}构成n棵二叉树的初始集合F={T1,T2,T3,...,Ti,..., Tn},其...原创 2018-09-17 14:17:58 · 42426 阅读 · 5 评论 -
内存分配方式以及堆和栈的区别
转载:https://blog.youkuaiyun.com/shanchangyi/article/details/51854795对于一个程序要运行,涉及到的内存分配是一个首要问题,这里简单说一下一个简单的程序运行所涉及到的内存分配方式。另外,在数据结构中存在堆和栈的概念,栈是一种先进后出的数据结构,堆则是一种排序方式,而在内存分配中也存在堆(heap)和栈(stack)的概念,与数据结构中的概念不同...转载 2018-09-13 21:26:40 · 1169 阅读 · 0 评论 -
堆排序讲解
大顶堆为例:https://www.cnblogs.com/MOBIN/p/5374217.html小顶堆为例:https://blog.youkuaiyun.com/her__0_0/article/details/72511047原创 2018-10-23 16:10:38 · 318 阅读 · 0 评论