
数据结构
小饼干超人
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
python实现哈希表
文章目录哈希表的概念哈希表的实现程序运行123456 哈希表的概念 哈希函数:一个把查找表中的关键字映射成该关键字对应的地址的函数,即为Hash(key)=Addr。 哈希表:是根据关键字而直接进行访问的数据结构。也就是说,哈希表建立了关键字和存储地址之间的一种直接映射关系。 哈希表的实现 假设哈希表长度为11,分别用两个列表来保存关键字和数据。 代码中的print()函数是为了方便理解,才加上的...翻译 2019-06-12 19:26:49 · 9236 阅读 · 5 评论 -
【递归】进制转换、字符串反转、判断回文
文章目录进制转换——十进制转为任意进制递归栈 进制转换——十进制转为任意进制 递归 def toStr(n,base): convertString = "0123456789ABCDEF" if n < base: return convertString[n] else: return toStr(n//base,base) + convertS...翻译 2019-06-12 09:28:24 · 335 阅读 · 0 评论 -
python实现栈Stack
用list来实现栈,栈的top元素为list[-1],base元素为list[0] class Stack: def __init__(self): self.items = [] def isEmpty(self): # 判断是否为空 return self.items == [] def push(self, item...翻译 2019-06-11 10:23:00 · 2327 阅读 · 2 评论 -
python 【栈】判断括号匹配问题
from pythonds.basic import Stack def parChecker(symbolString): s=Stack() balanced=True index=0 while index<len(symbolString) and balanced: symbol=symbolString[index] ...翻译 2019-06-11 11:20:13 · 1679 阅读 · 0 评论 -
python【栈】中缀表达式转后缀表达式
文章目录题目思路 题目 把中缀表达式转为后缀表达式,如: (A+B)∗C−(D−E)∗(F+G)( A + B ) * C - ( D - E ) * ( F + G )(A+B)∗C−(D−E)∗(F+G) 转为 AB+C∗DE−FG+∗−AB+C*DE-FG+*-AB+C∗DE−FG+∗− 思路 创建一个字典, prec,用来保存运算符的优先级 创建一个空栈,opStack,用来保存运算符...翻译 2019-06-11 15:49:27 · 2257 阅读 · 1 评论 -
pytho实现队列并解决约瑟夫环问题
文章目录队列示意图队列的基本操作队列的应用:约瑟夫环 队列示意图 队列的基本操作 class Queue: def __init__(self): self.items = [] def isEmpty(self): # 判断是否为空 return self.items == [] def enqueue(self, item...翻译 2019-06-11 19:04:41 · 374 阅读 · 0 评论 -
python【栈】 后缀表达式求值
文章目录题目思路 题目 根据后缀表达式,求出运算结果。 假设: 后缀表达式是由空格为分隔符的字符串 操作符是*, /, +, - 操作数都是个位数 代码中的Stack()来自于python实现栈Stack 思路 创建一个空栈operandStack 把后缀表达式postfixExpr由字符串转为列表tokenList 从左到右扫描这个列表tokenList中的每一个token 1. 如果to...翻译 2019-06-11 16:28:57 · 2784 阅读 · 0 评论 -
python实现双端队列并解决判断回文字符串的问题
文章目录双端队列示意图双端队列的基本操作双端队列的应用:判断回文字符串 双端队列示意图 双端队列的基本操作 右边的元素是队头 class Deque: def __init__(self): self.items = [] def isEmpty(self): # 判断是否为空 return self.items == [] ...翻译 2019-06-11 19:40:31 · 546 阅读 · 0 评论 -
python【树】列表实现、类实现
文章目录列表实现类实现 列表实现 树的结构是root=[r, [], []] root[0]=根结点,root[1]=左子树,root[2]=右子树 插入操作,会把新的节点当作原来节点的父节点。 def BinaryTree(r): return [r, [], []] def insertLeft(root, newBranch): # root[0]=根结点,root[1]=...翻译 2019-06-13 19:31:54 · 950 阅读 · 0 评论 -
python【排序】冒泡、选择、插入、归并、快速排序
文章目录冒泡排序写法一写法二短冒泡排序 冒泡排序 写法一 def bubbleSort(alist): for passnum in range(len(alist)-1,0,-1): for i in range(passnum): if alist[i]>alist[i+1]: alist[i],alist[...翻译 2019-06-12 20:38:29 · 407 阅读 · 0 评论 -
python【栈】进制转换
文章目录十进制转二进制十进制转任意进制 十进制转二进制 其中Stack除了利用import导入,也可以自己实现,请看这里 from pythonds.basic import Stack def divideBy2(decNumber): remstack = Stack() while decNumber > 0: rem = decNumber % 2...翻译 2019-06-12 09:35:39 · 569 阅读 · 0 评论