数据结构与算法(python语言描述)
数据结构与算法
Jack you123
永远快乐
展开
-
第七章图(概念和实现)
7.1概念和实现'''图抽象数据类型''''''ADT Graph: #一个图抽象数据类型 Graph(self) #图构造操作,创建一个新图 is_empty(self) #判断是否为一个空图 vertex_num(self) #获得这个图中的顶点个数 edge_num(self) #获得这个图中边的条数 vertices(self)原创 2020-05-30 22:01:27 · 139 阅读 · 0 评论 -
第六章二叉树和树(树)
6.1抽象数据类型#抽象数据类型'''ADT Tree: #一个树抽象数据类型 Tree(self,data,forest) #构造操作,基于树根数据和一组子树 is_empty(self) #判断是否为一颗空树 num_nodes(self) #求树中结点个数 data(self) #取得树根存储的数据 first_child(self)原创 2020-05-27 20:46:52 · 141 阅读 · 0 评论 -
第六章二叉树和树(二叉树)
这本书的结构,先写概念,再写抽象数据类型,再写如何实现,再写应用。1.1二叉树抽象数据类型'''ADT BinTree: #一个二叉树抽象数据类型 BinTree(self,data,left,right): #构造操作,创建一个新二叉树 is_empty(self): ...原创 2020-05-23 11:53:00 · 184 阅读 · 0 评论 -
第五章栈和队列(队列)
队列先进先出,常见的缓存结构'''ADT Queue: Queue(self) #创建空队列 is_empty(self) #判断是否为空 enqueue(self) #入队 dequeue(self) #出队 peek(self) #查看...原创 2020-04-27 08:58:30 · 102 阅读 · 0 评论 -
第五章栈和队列(栈)
栈后进先出,常见的缓存结构#栈是保证元素后进先出'''ADT Stack: Stack(self) #创建空栈 is_emplty(self) #判断栈是否为空,空时返回True否则返回False push(self,elem) ...原创 2020-04-22 23:11:23 · 137 阅读 · 0 评论 -
第四章字符串
朴素的串匹配算法评价:简单易懂,但效率低下。算法时间复杂度O(m*n)朴素算法的执行过程,设目标串 t: ababcabcacbab,模式串 p: abcac'''朴素的串匹配算法'''def naive_matching(t,p): m,n = len(p),len(t) i,j = 0,0 while i < m and j < n...原创 2020-04-21 23:17:08 · 321 阅读 · 0 评论 -
第三章线性表
顺序表的实现python自带的list就是线性表,关于它的实现,操作,性质就不讲了,记住一点即可:分离式技术实现的动态顺序表。链接表#定义表节点类class LNode: def __init__(self,elem,next_=None): self.elem=elem self.next=next_链接表的基本操作#自定...原创 2020-04-21 23:01:53 · 140 阅读 · 0 评论 -
第一章绪论
时间复杂度对于抽象的算法,通常无法做出精确的度量,一般设法估计算法复杂性的量级。描述量级,那么常量因子可以忽略不计。‘大O记法':对于单调整数函数f,如果存在一个整数函数g和实常数c>0,使得对于充分大的n总有f(n)<=c*g(n),就说函数g是f的一个渐进函数,记为发f(n)=O(g(n)),则称O(g(n))说明在趋向于无穷的极限意义下,函数f的增长速度受到函数g的约束。...原创 2020-04-21 22:34:26 · 78 阅读 · 0 评论