数据结构
文章平均质量分 71
加油2019
想学的太多,路上满是坎坷,越是如此,越要勇往直前
展开
-
btree学习笔记
btree:balance tree,平衡多叉树,类比avl:平衡二叉树,都是有平衡的属性 (多个子树高度一致),只不过是二叉和多叉的区别。原创 2023-09-10 10:39:32 · 393 阅读 · 0 评论 -
小张学算法之数据结构: 4.c语言用双向链表及内存池实现队列
加粗样式原创 2020-07-22 00:15:54 · 189 阅读 · 0 评论 -
小张学算法之数据结构:3.堆
此堆是数据结构中的堆,非我们程序中的堆栈段的堆。堆是一种完全二叉树,即非最后一层其他层全满的树。分最大堆和最小堆,最小堆,根节点大于孩子节点,左子树右子树也同样如此,是最小堆。看图看这红蓝配色,哈哈我是不会说我是巴萨球迷的哈哈哈。堆得插入十分简单:只需要在尾部插入,然后调整位置,和父节点比较,通过上浮交换操作,保持堆的特性。删除操作:只能删除根节点,然后孩子节点填充位置,段尾节点,填充空缺。由于是完全二叉树,可以使用数组来存储,根节点从1开始,2i是其左节点,2i+1是右节点,每次在尾部插原创 2020-07-18 10:58:10 · 142 阅读 · 0 评论 -
小张学算法之基础算法:6.树的广度优先遍历和深度优先遍历(非递归python)
广度优先遍历思想:使用队列,每一层,先将自己遍历后,在将孩子进队列,左先右后。def broad_travel(self, root, func): queue = [root] while queue: node = queue.pop(0) func(node.data) if node.lchild: queue.append(node.lchild) if node.rchild: queue.append(node.rchild)深度优先遍历原创 2020-07-05 11:35:53 · 230 阅读 · 0 评论