数据结构与算法0
码手西风
这个作者很懒,什么都没留下…
展开
-
基于队列的迷宫求解实现
# 基于队列的迷宫求解 def que_find(maze,pos,end): if pos == end: print('已找到') return True que = Queue() mark(maze,pos) que.enqueue(pos) while not que.is_empty(): pos...原创 2018-07-08 07:46:39 · 1032 阅读 · 0 评论 -
顺序表
class Ordlist(): def __init__(self,capacity,num): self._cap = capacity # 表容量 self.num = num # 元素数量 self.list = [None]*self._cap # 初始化顺序表 def print_list(self)...原创 2018-09-02 15:18:13 · 193 阅读 · 0 评论 -
非递归迷宫问题实现
# 模块化,重整程序 class Lstack(): def __init__(self,top=-1,full=20): self._top = top self._stack=[] self.full = full def is__full(self): return self.full == self._top+...原创 2018-07-07 23:48:28 · 1099 阅读 · 0 评论 -
递归转手动管理栈的非递归
# 递归转非递归 #自己管理栈,关键在于模拟函数调用的过程 # 栈结构 class Lstack(): def __init__(self,top=-1,full=20): self._top = top self._stack=[] self.full = full def is__full(self): retu...原创 2018-07-07 11:06:36 · 521 阅读 · 0 评论 -
括号匹配实现
# 括号匹配 #先准备堆栈类 class Lstack(): def __init__(self,top=-1,full=20): self._top = top self._stack=[] self.full = full def is__full(self): return self.full == self....原创 2018-07-06 14:13:01 · 314 阅读 · 0 评论 -
双栈计算表达式实现
# 双栈表达式求值 # 栈的实现 class Lstack(): def __init__(self,top=-1,full=20): self._top = top self._stack=[] self.full = full def is__full(self): return self.full == sel...原创 2018-07-06 11:08:08 · 980 阅读 · 1 评论 -
队列的链表实现
# 定义链表类 注意: 在用此队列结构时,若有必要,链表的内容可以大大简化,以减少不必要的代码。 class Note(): '''''这里的data是节点内容,next_实际上是下个节点类''' def __init__(self,data,next_=None): self.data = data self.next_ ...原创 2018-07-05 22:49:33 · 263 阅读 · 0 评论 -
栈的链表实现
# 定义链表类 class Note(): '''''这里的data是节点内容,next_实际上是下个节点类''' def __init__(self,data,next_=None): self.data = data self.next_ = next_ class ConnectList(): ''...原创 2018-07-05 22:29:15 · 236 阅读 · 0 评论 -
二叉树类及相关操作
class BinTree(): def __init__(self,root=None,left=None,right=None): self._root=root # 初始化 空树 self._left = left self._right=right def is_empty(self): re...原创 2018-07-09 16:56:47 · 217 阅读 · 0 评论 -
基于递归的前序二叉树遍历实现
class BtreeNote(): def __init__(self,data=None,left=None,right=None): self.data =data self.left=left self.right = right self._c =0 def count_Note(self,t):# 实例化...原创 2018-07-09 14:03:49 · 274 阅读 · 0 评论 -
基于节点类的二叉树实现及部分操作函数
class BtreeNote(): def __init__(self,data=None,left=None,right=None): self.data =data self.left=left self.right = right self._c =0 def count_Note(self,t):# 实例化...原创 2018-07-09 13:06:08 · 298 阅读 · 0 评论 -
二叉树最小单元结点的实现
class BtreeNote(): def __init__(self,data,left=None,right=None): self.data =data self.left=left self.right = right t=BtreeNote(1,BtreeNote(2),BtreeNote(2,3))原创 2018-07-09 11:10:24 · 427 阅读 · 0 评论 -
基于函数的二叉树的描述
def bintree(data,left=None,right=None): return [data,left,right] def is_empty_Bintree(btree): return btree[0] is None def root(btree): return btree[0] def left(btree): # 返回树的左子树 return b...原创 2018-07-08 21:29:15 · 245 阅读 · 0 评论 -
二叉树广度遍历实现
# 二叉树连接表的实现 class note(): def __init__(self,data,l=None,r=None): self._d=data self._left = l self._right=r def count_note(self,t): if t is None: re...原创 2018-07-08 10:46:53 · 1012 阅读 · 0 评论 -
单链表
#实现的关键是 节点(元素、引索)的构建 # 内部逻辑和属性的严谨关联 # 引用类型可修改原类型 class Note: def __init__(self,elem,next_=None): # 节点单元 self.next = next_ # 引索 self.elem = elem # 元素 class Linklist: ...原创 2018-09-03 10:12:11 · 152 阅读 · 0 评论