-
【数据结构】二叉查找树
所属栏目:[安全] 日期:2021-05-22 热度:72
1、概念: 二叉查找树,也称排序二叉树,是指一棵空树或者具备下列性质的二叉树(每个节点都不能有多于两个儿子的树): 1. 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值; 2. 若任意节点的右子树不空,则右子树上所有节点的值均大于[详细]
-
【数据结构】插入排序
所属栏目:[安全] 日期:2021-05-22 热度:52
数据结构中的插入排序 参考代码如下: /*名称:插入排序 语言:数据结构C语言版 编译环境:VC++ 6.0日期: 2014-3-26 */#include stdio.h#include malloc.h#include windows.htypedef int KeyType;// 定义关键字类型为整型typedef int InfoType;// 定义其它[详细]
-
【数据结构】二叉树的遍历
所属栏目:[安全] 日期:2021-05-16 热度:72
二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作 二叉查找树 和二叉堆或是二叉排序树。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右[详细]
-
《数据结构》同学做的作业大家来讨论:顺序栈的实现
所属栏目:[安全] 日期:2021-05-15 热度:185
? ? ?下面是一个同学的顺序栈的实现代码,这位同学没有按照课本的方法来写,按自己的理解写了一个程序,对这位同学的尝试表示赞,同时,也推荐大家可以自己写出符合相应数据结构的算法程序。 ? ? ? 当然,这位同学做的还有很多不合理的地方面,所以 请大家上[详细]
-
《数据结构》第四章 字符串和多维数组学习指南
所属栏目:[安全] 日期:2021-05-15 热度:122
? 第四章字符串和多维数组 学习指南 ? ? ? 字符串:是以字符为数据元素的线性表。线性表是字符串学习的重要基[详细]
-
《数据结构》第四章 字符串和数组 教学设计
所属栏目:[安全] 日期:2021-05-15 热度:131
本章,总时问分为 1.5周,共三次课来 来学习。两次上课(9周周一和周四),一次实验(10周周四)。以下是教学设计。 第四章 字符串和多维数组 ? 教学设计 一、课前预习任务 学习资料 ??? 资料1 . ?教材第三章Page 79-98(必看) ??? 资料2. ?辅导材料第一章P[详细]
-
《数据结构》实验四 字符串和多维数组 实验
所属栏目:[安全] 日期:2021-05-15 热度:58
《数据结构》实验四:???? 字符串和多维数组 实验 一..实验目的 ???? 巩固字符串和多维数组相关知识,学会运用灵活应用。 1.回顾字符串和多维数组的逻辑结构和存储操作特点,字符和数组的物理存储结构和常见操作。 2.学习运用字符串和和数组的知识来解决实[详细]
-
《数据结构》队列和栈同学问题征集解答=help!
所属栏目:[安全] 日期:2021-05-15 热度:138
下面是一名同学的提问,在他自己博客里,由于问题不止一个较长,这个同学平时是很认真思考的,所以我认为他的问题一定也是大家的问题。 ? ?因此。在此 “示众” !请大家来讨论来回答。必要的时候我也会补充。当然提问题同自己如果明白了也可以来定出答案。[详细]
-
《数据结构》第四章 字符串和多维数组 问题收集站
所属栏目:[安全] 日期:2021-05-15 热度:80
? ? ? ?大家好, 第三章“栈和队列 ”的已经结束了。将在下周开始学习第四章 字符串和多维数组 。第四章准备使用1.5周,具体时间是第9周到第10周。 ??????? 同前三章一样,现开辟同学们学习问题回收站,希望大家认真预习,积极思考,相互讨论。将不理解的问[详细]
-
《数据结构》同学链表程序的调试修改代码示例(有代表性,请看看
所属栏目:[安全] 日期:2021-05-15 热度:170
下面是一个同学的程序,自己不能调试通过。现将调试修改代码示众,让大家学习。并讨论。 请大家注意红色字体注释。大多是 粗心 错误;不知道C++是选样学的。 原程序链接:http://blog.csdn.net/z1094219402/article/details/40559877 #includeiostream ? usi[详细]
-
《数据结构》链表程序调试示例--有一定代表性请看看
所属栏目:[安全] 日期:2021-05-15 热度:196
下面的一个同学程序,编译和链接均没问题,只是运行出面错误。现将程序示众, 大家细看我改过的地方面,用红色标记。 还是一个粗心,请细分每个功能函块,要画图来推推。要说明的是,我没有从功能上完善同学的程序。程序有好多改进的地方。 同学程序链接是:[详细]
-
【数据结构】哈希表
所属栏目:[安全] 日期:2021-04-05 热度:156
哈希表(散列表),是通过关键字key而直接访问在内存存储位置的一种数据结构,它就是 以空间换取时间。通过多开辟几个空间,来实现查找的高效率。 对于哈希表,我们并不是很陌生:在c语言学习阶段,给定一个字符串,查找第一个只出现过一次的字符;在数据结[详细]
-
[JZOJ6089]【CodeChef 2014 April Challenge】Final Battle of C
所属栏目:[安全] 日期:2021-04-03 热度:141
Description (n,q,Vleq 100000,w_ileq 10^9) Solution 又是一道大数据结构 由于有一个下取整,这就导致了不同时间的修改值是不能简单的直接加在一起的。 容易发现,1操作的影响只会影响到距离不超过log的点。 这样我们很容易得到一个 (qlog nlog ^2V[详细]
-
【数据结构】红黑树与跳表-(SortSet)-(TreeMap)-(TreeSet)
所属栏目:[安全] 日期:2021-04-03 热度:131
SortSet 有序的Set,其实在Java中TreeSet是SortSet的唯一实现类,内部通过TreeMap实现的;而TreeMap是通过红黑树实现的;而在Redis中是通过跳表实现的; SkipList 跳表,思想类似平衡二叉树,但又不一样;下面摘了一个介绍: skiplist数据结构简介(摘自: h[详细]
-
【数据结构】维护队列
所属栏目:[安全] 日期:2021-04-03 热度:149
T69293 维护队列 题目描述 Alice 给 Bob 布置了很多工作,他忙的不可开交,决定按照“先进先出(FIFO)”的顺序依次处理这些工作。但是处理过程中,Bob 意识到这种顺序可能不是最优的,因此他会选择性的把某些工作延后。 抽象来说,你需要维护一个队列,支持三[详细]
-
【数据结构】静态链表的实现(C语言描述)
所属栏目:[安全] 日期:2021-04-03 热度:170
#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 热度:70
今天的内容是 带修莫队 。 例题:P1903 [国家集训队]数颜色 / 维护队列 题目描述 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问。墨墨会向你发布如下指令: 1、 Q L R代表询问你从第L支画笔到第R支画笔中共有几种不同[详细]
-
【数据结构】二叉树的创建与遍历
所属栏目:[安全] 日期:2021-04-03 热度:61
#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 热度:140
? 假设我们现在拿到了一个非常大的数组,对于这个数组里面的数字要反复不断地做两个操作。 1、(query)随机在这个数组中选一个区间,求出这个区间所有数的和。 2、(update)不断地随机修改这个数组中的某一个值。 时间复杂度: 枚举 : 枚举L~R的每个数并[详细]
-
【数据结构】2.java源码关于LinkedList
所属栏目:[安全] 日期:2021-04-03 热度:91
关于LinkedList的源码关注点 1.从底层数据结构,扩容策略 2.LinkedList的增删改查 3.特殊处理重点关注 4.遍历的速度,随机访问和iterator访问效率对比 ? 1.从底层数据结构,扩容策略 构造函数不做任何操作,只要再add的时候进行数据初始化操作,以操作推动逻[详细]
-
【数据结构】【状态压缩】刷题
所属栏目:[安全] 日期:2021-04-03 热度:164
没什么别的,就希望自己记住那些函数 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[详细]
-
【数据结构】Hash表
所属栏目:[安全] 日期:2021-04-03 热度:80
【数据结构】Hash表 Hash表也叫散列表,是一种线性数据结构。在一般情况下,可以用o(1)的时间复杂度进行数据的增删改查。在Java开发语言中,HashMap的底层就是一个散列表。 1. 什么是Hash表 Hash表是一种线性数据结构,这种数据结构的底层一般是通过数组来实[详细]
-
自己动手实现java数据结构(五)哈希表
所属栏目:[安全] 日期:2021-04-03 热度:159
1.哈希表介绍 前面我们已经介绍了许多类型的数据结构。在想要查询容器内特定元素时,有序向量使得我们能使用二分查找法进行精确的查询(( O(logN)对数复杂度,很高效 )。 可人类总是不知满足,依然在寻求一种更高效的特定元素查询的数据结构, 哈希表/散列表([详细]
-
自己动手实现java数据结构(七) AVL树
所属栏目:[安全] 日期:2021-04-03 热度:187
1.AVL树介绍 前面我们已经介绍了二叉搜索树。普通的二叉搜索树在插入、删除数据时可能使得全树的数据分布不平衡,退化,导致二叉搜索树最关键的查询效率急剧降低。这也引出了平衡二叉搜索树的概念,平衡二叉搜索树在此前的基础上,通过一系列的等价变换使二[详细]
-
自己动手实现java数据结构(八) 优先级队列
所属栏目:[安全] 日期:2021-04-03 热度:187
1.优先级队列介绍 1.1 优先级队列 有时在调度任务时,我们会想要先处理优先级更高的任务。例如,对于同一个柜台,在决定队列中下一个服务的用户时,总是倾向于优先服务VIP用户,而让普通用户等待,即使普通的用户是先加入队列的。 优先级队列和普通的先进先[详细]