-
《数据结构》第六章 图实验
所属栏目:[安全] 日期:2021-04-03 热度:162
《数据结构》实验六:?? 图的实验 一..实验目的 ???? 巩固图的相关知识。掌握图的主要存储方法和遍历方法,学会运用图的知识解决实际问题。 1.图的逻辑结构和存储方法,清楚掌握图的遍历操作。 2.掌握图的存储方法的实现代码。 3.学习图的相关知识来解决实[详细]
-
《数据结构》图存储遍历示例
所属栏目:[安全] 日期:2021-04-03 热度:74
??? 大家好,图是一种复杂的结构,存储结构较复杂,下面是一个具体图的邻接矩阵存储方法示例,并实现了深度优先和广度优先遍历输出。 #includeiostreamusing namespace std;const int MaxSize=10;template class DataTypeclass MGraph{public: MGraph(DataTy[详细]
-
【数据结构】红黑树的实现
所属栏目:[安全] 日期:2021-04-03 热度:104
Talk is cheap,show me the code. 红黑树真是抄了好久才抄完,要是有时间真应该重新写一下。 #ifndef _RED_BLACK_TREE_HPP_#define _RED_BLACK_TREE_HPP_#include iomanip#include iostreamusing namespace std;enum RBTColor{RED,BLACK};template class Tcl[详细]
-
《数据结构》第七章 查找学习指南
所属栏目:[安全] 日期:2021-04-03 热度:90
?? 第七章??查找 学习指南 ? ? ? 本书的前几章,讲完了几种数据结构的存储和常规操作实现。本章节专门讨论一查找技术。 ? ? ? 查找操作在生产生活中常见,如搜索引擎,在自己个人通信录中查找一个电话号码等。 一 、学习目的 ????? ? 本章学习,在前面的各种[详细]
-
《数据结构》第七章 查找 学习问题回收站
所属栏目:[安全] 日期:2021-04-03 热度:140
?? ?????????? 各位,大家好!第六章 图 的学习结束了 。 ????????? 本周开始学习第七章图,第七章准备使用1周来学习,具体时间是第15周,这里是本章问 题回收站,希望大家认真预习,积极思考,相互讨论。将不理解的问题在在本博文后面评论中提出,在提问和[详细]
-
《数据结构》二叉排序树查找性能总结
所属栏目:[安全] 日期:2021-04-03 热度:154
二叉排序树查找性能分析 1. 一棵二叉查找树的平均查找长度(ASL),见下图公式(1)。2. 一棵满二叉排序树的平均查找长度,见下图公式(2)。 3. 一棵斜二叉排序树的平均查找长度,见下图公式(3)。 ? ? ? ? ? ? 由上面可以分析得知,对于二叉排序查找性能[详细]
-
《数据结构》图floyd算法示例-大家一定要看
所属栏目:[安全] 日期:2021-04-03 热度:154
图的只操作复杂,但很在意义和意思。这里根据课本精华,实现一个图的最短路径算法,请参考。 准备计算课本P172,图6-13。如下: #include iostream #include string #includeiomanip //引入输入输出格式头文件using namespace std; const int Maxsize = 10;[详细]
-
《数据结构》问题回答:why100个结点的完全二叉树叶子数为50.
所属栏目:[安全] 日期:2021-04-03 热度:61
? ?有同学问:为什么具有100个结点的完全二叉树的叶子节点数为50? ? ? 这个问题很有意思,谢谢这同同学的提问。现在分析一下。 ? ?如果一棵完全二叉树有100个结点,我们根据以下两点: ? ? ?1.二叉树的性质:深度为k的二叉树,最多有2的k次方-1个结点。 ? ?[详细]
-
《数据结构》完全二叉树的叶子数讨论
所属栏目:[安全] 日期:2021-04-03 热度:68
? ? ?完全二叉树是一种很特别的树,很多性质和特性值得我们关注。下面,就来关注一下叶子数目。 ? ? 如果一树是是完全二叉树, 结点数为n,叶子是多少呢? 现设结点总数为n,度为2和0结点数分别为n2和n0。下面讨论叶子数目。即计算 n0值。 ? ? ?我们根据完全[详细]
-
【数据结构】维护队列
所属栏目:[安全] 日期:2021-04-03 热度:98
T69293 维护队列 题目描述 Alice 给 Bob 布置了很多工作,他忙的不可开交,决定按照“先进先出(FIFO)”的顺序依次处理这些工作。但是处理过程中,Bob 意识到这种顺序可能不是最优的,因此他会选择性的把某些工作延后。 抽象来说,你需要维护一个队列,支持三[详细]
-
【数据结构】静态链表的实现(C语言描述)
所属栏目:[安全] 日期:2021-04-03 热度:191
#include stdio.h#include "stdlib.h"#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 1000 // 定义线性表最大容量typedef int Status;typedef int ElemType;// 定义静态链表的存储结构typedef struct{ ElemType data; // 数据域[详细]
-
【数据结构】莫队(二)
所属栏目:[安全] 日期:2021-04-03 热度:168
今天的内容是 带修莫队 。 例题:P1903 [国家集训队]数颜色 / 维护队列 题目描述 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问。墨墨会向你发布如下指令: 1、 Q L R代表询问你从第L支画笔到第R支画笔中共有几种不同[详细]
-
【数据结构】二叉树的创建与遍历
所属栏目:[安全] 日期:2021-04-03 热度:117
#include stdio.h#include string.h#include stdlib.h#include math.h#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 100 /* 存储空间初始分配量 */typedef int Status;typedef char TElemType; /* 假定二叉树的元素都是字符类型[详细]
-
【数据结构】线段树(Segment Tree)
所属栏目:[安全] 日期:2021-04-03 热度:136
? 假设我们现在拿到了一个非常大的数组,对于这个数组里面的数字要反复不断地做两个操作。 1、(query)随机在这个数组中选一个区间,求出这个区间所有数的和。 2、(update)不断地随机修改这个数组中的某一个值。 时间复杂度: 枚举 : 枚举L~R的每个数并[详细]
-
【数据结构】2.java源码关于LinkedList
所属栏目:[安全] 日期:2021-04-03 热度:77
关于LinkedList的源码关注点 1.从底层数据结构,扩容策略 2.LinkedList的增删改查 3.特殊处理重点关注 4.遍历的速度,随机访问和iterator访问效率对比 ? 1.从底层数据结构,扩容策略 构造函数不做任何操作,只要再add的时候进行数据初始化操作,以操作推动逻[详细]
-
【数据结构】【状态压缩】刷题
所属栏目:[安全] 日期:2021-04-03 热度:177
没什么别的,就希望自己记住那些函数 1floyd+bitset优化 #includecstdio #include cstdlib #include bitset using namespace std; int n; const int N= 2003 ; char s[N]; bitset N bs[N]; int main(){ scanf( " %d " , n); for ( int i= 1 ;i=n;i++ ) { sca[详细]
-
队列-java代码
所属栏目:[安全] 日期:2021-04-02 热度:144
public class QueueDemo { private int maxSize; long [] queueArray; // 队列的头,实际是数组的尾 header; 队列的尾,实际是数组的头 footer; nElems; public QueueDemo( size){ maxSize = size; queueArray = new [maxSize]; header = 0 ; footer = -1 ;[详细]
-
算法图解之散列表
所属栏目:[安全] 日期:2021-04-02 热度:149
散列函数 专业术语表述,”将输入映射到数字”。 散列函数具有如下要求: (1)它必须是一致的。 如你输入blog得到的是wordpress,那么每次输入blog,得到的都必须为wordpress。 (2)它应将不同的输入映射到不同的数字。 如,如果一个散列函数不管输入是什么都返[详细]
-
算法图解之二分查找
所属栏目:[安全] 日期:2021-04-02 热度:184
简单查找,如下图: ? 从图可知那个眼镜男从1开始猜,猜到100,大家都知道这种猜法最终都会得到答案,就是时间问题而已。100毕竟是这个列表的最大长度。但是换言之,如果是一万、百万、上千亿呢?那么这种猜法虽然能够得到答案,但是时间方面的成本将会非常大[详细]
-
lt;数据结构与算法分析gt;读书笔记--运行时间中的对数及其分析
所属栏目:[安全] 日期:2021-04-02 热度:117
分析算法最混乱的方面大概集中在对数上面。我们已经看到,某些分治算法将以O(N log N)时间运行。此外,对数最常出现的规律可概括为下列一般法则: 如果一个算法用常数时间(O(1))将问题的大小削减为其一部分(通常是1/2),那么该算法就是O(logN)。另一方面,如[详细]
-
lt;数据结构与算法分析gt;读书笔记--最大子序列和问题的求解
所属栏目:[安全] 日期:2021-04-02 热度:121
? 现在我们将要叙述四个算法来求解早先提出的最大子序列和问题。 第一个算法,它只是穷举式地尝试所有的可能。for循环中的循环变量反映了Java中数组从0开始而不是从1开始这样一个事实。还有,本算法并不计算实际的子序列;实际的计算还要添加一些额外的代码[详细]
-
lt;数据结构与算法分析gt;读书笔记--实现泛型构件pre-Java5
所属栏目:[安全] 日期:2021-04-02 热度:81
? 面向对象的一个重要目标是对代码重用的支持。支持这个目标的一个重要的机制就是泛型机制:如果除去对象的基本类型外,实现的方法是相同的,那么我们就可以用泛型实现来描述这种基本的功能。 ? ? 1.使用Object表示泛型 Java中的基本思想就是可以通过使用像Ob[详细]
-
算法图解之递归
所属栏目:[安全] 日期:2021-04-02 热度:119
图一: ? ?图二: ? ? ? 图一和图二对比,它们的作用都是相同的。从流程上分析,图一流程相对比较复杂,而图二则简单明了, 这是某位同行在stackoverflow上面说过的话:如果使用循环,程序的性能可能更高;如果使用递归,程序可能更容易死理解。如何选择要看什么[详细]
-
算法图解之大O表示法
所属栏目:[安全] 日期:2021-04-02 热度:138
大O表示法 大O表示法是一种特殊的表示法,指出了算法的速度有多快。 1.算法的运行时间以不同的速度增加 关于算法的运行时间以不同的速度增加,我联系到平时写代码,严谨的代码(易读,可扩展,精悍,经过多方测试等),通常运行速度与那些不严谨的代码(完全相[详细]
-
算法图解之广度优先搜索
所属栏目:[安全] 日期:2021-04-02 热度:116
广度优先搜索的应用场景,如下: (1)编写国际跳棋AI,计算最少走多少步就可获胜; (2)编写拼写检查器,计算最少编辑多个地方就可将错拼的单词改为正确的单词,如将READED改为READER需要编辑一个地方; (3)根据你的人际关系网络找到关系最近的医生; 图简介 假设[详细]