
数据结构
伟菜
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
输入提示 数据算法 Trie
基本功能实现上述功能,输入提示数据结构:Trie 字典树 多叉树 根节点为空值缺点:数据要求比较高,会占用大量的空间。例如:26个字母,组成完全的 Trie树的话,就会有26层,总共有26的26次方个节点实现代码from copy import deepcopyfrom collections.abc import Iterablefrom collections import defaultdictclass Trie: def __init__(self, nodes:原创 2021-05-21 16:18:16 · 263 阅读 · 0 评论 -
数据结构 树 python
基本功能顺序存储前序遍历中序遍历前序遍历层级遍历顺序存储数据/中序数据+前序数据/中序数据+后序数据 确定一棵树代码from queue import Queueclass BinaryNode: def __init__(self, right=None, left=None, node=None): self.right = right self.left = left self.node = nodeclass原创 2021-05-14 18:49:32 · 136 阅读 · 0 评论 -
数据结构 python:树简单操作
数据结构:树的生成原始数据生成树代码原始数据child: 子节点parent:父节点如果parent==child,则为根节点(这里是森林的结构)child,parenta,bb,cc,c生成树获取根节点获取父与子的对应关系,利用列表存储每一层的父子对应关系获取树结构时间复杂度:层级*每层节点个数的最大值代码def main(): original = [{}] data = dict() with open('origin.csv', new原创 2021-04-22 18:18:38 · 483 阅读 · 1 评论 -
霍恩规则的正确性验证
霍恩规则计算求值多项式P(x) = ∑k−0n\sum_{k-0}^n∑k−0naka_kakxkx^kxk霍恩规则:P(x) = a0a_0a0 + x(a1a_1a1 + x(a1a_1a1 + x(a2a_2a2+ … +x(an−1a_n-1an−1 + x*ana_nan))))伪代码:y = 0for i = n downto 0 y = a[i] + x*...原创 2019-04-22 09:09:45 · 1101 阅读 · 0 评论 -
平衡二叉树 C语言可执行代码
平衡二叉树的概念,这里就不多说,举例如下:树,左子树不平衡,分两种情况:1、在根节点的左子树的根节点的右子树上插入节点原创 2018-10-17 16:59:52 · 1529 阅读 · 0 评论 -
二叉排序树 C语言源码 插入 查找 删除
二叉排序树,详细概念略过,参考数据结构书籍;详细代码如下:(以下代码,均可直接运行)存储结构:二叉链表typedef struct SOSTree { int data; struct SOSTree *LChild, *RChild;} SOSTree;插入:bool InsertBST(SOSTree **T, int elem) { // 二级指针,这样一...原创 2018-10-16 20:32:33 · 1654 阅读 · 0 评论 -
数据结构 C语言 获取二叉树每一层的节点的个数 非递归算法
利用队列进行层次遍历获取各层的节点的个数循环队列可以参考这篇文章代码如下:// 获取二叉树每一层的结点的个数int *NumberOfFloorTree(BiTree *biTree, int *number, int deep) { // floor 二叉树的层数 // deep 二叉树的深度 if (!biTree) return false; Q...原创 2018-10-07 19:24:58 · 2991 阅读 · 0 评论 -
C语言 数据结构 二叉树 找出两个结点的最近的共同祖先节点 非递归算法
分别找出连个结点的所有祖先节点,利用循环队列存储比较,两个结点的祖先结点利用队列的先进先出的特点,一次由远及近比较,利用循环队列,在内循环中,将比较过的结点重新存入队列在重新,存入时,设置标志位,便于判断内循环的结束循环队列可以参考这篇文章代码如下:// 找结点的所有父节点bool FindParent(BiTree *biTree, QueueTree *parent, ch...原创 2018-10-07 16:29:51 · 2125 阅读 · 0 评论 -
按层来遍历二叉树
按层次来遍历数据结构借助队列的性质树节点队列参考bool TreeFloorTraverse(BiTree *biTree) { QueueTree Q; BiTree *middle; if (!biTree) { return false; } Q = InitQueueTree(20); middle = biTree...原创 2018-10-06 19:41:20 · 2313 阅读 · 0 评论 -
数据结构 树的复制--非递归算法
借助队列来实现,树结构的复制typedef struct BiTree { char data; struct BiTree *leftChild; struct BiTree *rightChild;} BiTree;typedef struct QueueTree { // 为了节省空间,使用的是循环队列 BiTree **base; ...原创 2018-10-06 19:15:31 · 1592 阅读 · 1 评论