结点度:结点拥有的子树数 Q:有一棵三叉树,度为1,2,3的节点数分别为n1,n2,n3,则该三叉数的叶子节点数n0为多少? A:设这棵树总节点数为n,边数为B,那么存在以下关系B=n-1。同时总节点数为n=n0+n1+…
分类:大话数据结构
数据结构结构---串的基本定义和存储结构
串:由零个或多个字符串组成的有限序列,又叫字符串。(串中的元素都是字符) 零个字符的串称为空串,它的长度为零,可以直接用两双引号“….”表示。 空格串:只包含空格的串,有内容长度,而且可以不止一个空格。 串中任意个数的连…
数据结构复习纲要
因为之前就复习完数据结构了,所以为了保持记忆,整理了一份复习纲要,复习的时候可以看着纲要想具体内容。 树 树的基本概念 树是递归的定义 有序树(如二叉树) 树的高度(叶结点高度为1) 树的性质(王道补充) 高度为h的m叉…
JavaScript数据结构21—关键路径算法
关键路径算法的核心依旧是拓扑排序算法,完成关键路径,有以下要完成的东西 最早发生时间的数组 最迟发生时间的数组 若某个点最早和最迟时间是一致的,则说明了:这是一个关键点,一定在关键路径上面。 点1的最早发生时间 = 点2…
连通图求解最小生成树的普林姆(prim)算法和克鲁斯卡尔(kruskal)算法之JavaScript实现
最近在看《大话数据结构》,图的算法。书中用C语言讲解的,下面用JavaScript实现普林姆(prim)算法和克鲁斯卡尔(kruskal)算法求解连通网的最小生成树 普林姆(prim)算法 // 普林姆算法寻找连通网的最…
大话C与Lua(五) 面向对象的数据结构——userdata
如何实现面向对象? 熟悉Lua的同学都知道!在Lua内部已经实现了面向对象的基本机制(table), 同时也为宿主语言(在这里是C语言)提供了一套接口来实现自定义数据结构(userdata)。在此,我们可以简单的利用me…
数据结构与算法:hashtable
实现来自算法精解:C语言描述(本人练习数据结构与基本算法记录,供回忆知识点使用) 代码上传至github: https://github.com/G1enY0ung/DataStructure-and-Algorithm…
AOV网与AOE网
AOV网: 顶点表示活动,有向边表示课程的先导关系。 AOV网是有向无环图,即不应该带有回路,因为若带有回路,则会陷入死循环。 所有活动可排列成一个线性序列,使得每个活动的所有前驱活动都排在该活动的前面,我们把此序列叫做…
数据结构每日更新——第一天:算法
1.算法的特性:有穷性、确定性、可行性、输入、输出 2.算法的设计的要求:正确性、可读性、健壮性、高效率和低存储量需求 3.算法的度量方法:事后统计方法(不科学)、事前分析估算能力 4.算法时间复杂度 推导大O阶: 用参…
数据结构一览
数据结构是计算机存储、组织数据的方式。 数据结构包括数组、类、链表、队列、栈、树等。 (像int、char、double等属于语言内置的基本数据结构。) 而上面提到的数组等属于语言经过进一步加工后的数据结构。 数组: 无…
python3.6 queue模块
python中的queue模块其实是对数据结构中栈和队列这种数据结构的封装,把抽象的数据结构封装成类的属性和方法。这里主要谈下,这些方法。 数据结构基础 栈(stack)也可以说是种先行后出队列(First in Las…
时间复杂度
CS基础:算法时间复杂度 此篇为大话数据结构的笔记之一,涉及到编码的部分采用 Swift 最新版本来进行编程。序比较乱,几乎属于想到啥查啥写啥。 时间复杂度 算法分析中的一个名词,即输入到输出经过这个算法所经历的时间。 …