-
【数据结构】散列表(哈希表)hash table
所属栏目:[安全] 日期:2020-12-15 热度:134
Hash table 在计算机中,散列表 是 一种实现了关联数组 抽象数据类型的数据结构,这种数据结构可以映射 键(key) 和 值(value). 补充: 关联数组:在计算机科学中,一个关联数组(associative array),映射(map),符号表(symbol table),或者是字典[详细]
-
【数据结构】 队列的基本操作
所属栏目:[安全] 日期:2020-12-15 热度:126
/*==========================================================================================队列的基本操作By~fanxingzju2014.04.171.构造一个空队列Q2.销毁队列Q,Q不再存在3.将Q清为空队列4.若队列Q为空,则返回true,否则换回false5.用length返回队[详细]
-
【数据结构】 串的基本操作
所属栏目:[安全] 日期:2020-12-15 热度:154
/*==========================================================================================串的基本操作By~fanxingzju2014.04.231.StrAssign(T,chars)初始条件:chars是字符串常量操作结果:生成一个其值等于chars的串T2.StrCopy(T,S)初始条件:串S存[详细]
-
【数据结构】红黑树入门知识
所属栏目:[安全] 日期:2020-12-15 热度:162
今天呆在宿舍看了一天的红黑树,算是基本了解了一点关于红黑树的基础知识,写这篇博客意在整理今天所学的内容,先把红黑树的基础知识贴上来。结合之前写过的关于二叉排序树的基础,尝试整理的资料如下: 红黑树是一种二叉排序树,先来回忆一下二叉排序树的基[详细]
-
【数据结构】红黑树插入的实例演示
所属栏目:[安全] 日期:2020-12-15 热度:148
前篇记录了红黑树的基础知识,以及左旋右旋的操作。其实左旋右旋还包括LLRR LR RL四种旋转,下面我们就来看一棵红黑树的插入具体实现操作。 注,本文的部分图文引自July博客的红黑树从头至尾插入和删除节点的全程演示图,该博客是很有分量的一个博客,各位想[详细]
-
【数据结构】 串的模式匹配算法KMP
所属栏目:[安全] 日期:2020-12-15 热度:116
/*==========================================================================================串的模式匹配算法By~fanxingzju2014.04.271.Judge(T,pos,num)函数判断String开头的num个元素组成的字符串与pos位置前的num个元素组成的字符串是否相同2.get_n[详细]
-
【数据结构】图邻接表存储实现
所属栏目:[安全] 日期:2020-12-15 热度:122
一个图 G = (V,E)由顶点(vertex)集 V 和边(edge)集 E 组成。每一条边就是一个点对(v,w),其中 v,w ∈V。 图的表示 图的存储一般有邻接表和邻接矩阵两种。若图是稠密的,则宜采用邻接矩阵;图是稀疏的,则应改用邻接表。这里我们先讨论图的邻接表[详细]
-
【数据结构】有向图->dijkstra算法详解
所属栏目:[安全] 日期:2020-12-15 热度:158
写的非常好,比数据结构书好多了 http://blog.sina.com.cn/s/blog_65e736c30100ybu2.html[详细]
-
【数据结构】bitset
所属栏目:[安全] 日期:2020-12-15 热度:92
一、概述:C++语言的一个类库,bitset除了可以访问指定下标的bit位以外,还可以把它们作为一个整数来进行某些统计。 二、格式: 1.bitsetNvarm, n为01串的长度,“varm”为变量名,位置为(0~n-1) 2.头文件:#includebitset 3.操作表 1.赋值操作测试: b[i[详细]
-
【数据结构】图的遍历之DFS和BFS
所属栏目:[安全] 日期:2020-12-15 热度:78
1.概述 图是一种比较复杂的数据结构,一个图G = (V,E)是有顶点集合V和边的集合E组成,在计算机中表示图时一般使用邻接矩阵和邻接表。邻接矩阵一个N*N的矩阵,空间复杂度相对较高,所以一般适用于边的数目比较多的稠密图;邻接表一般使用于边的数目较少稀疏图[详细]
-
【数据结构】Trie树
所属栏目:[安全] 日期:2020-12-15 热度:102
1.Trie树简介 Trie树,又称字典树、前缀树,被用于信息检索(information re trie val)的数据结构。 Trie一词便来自于单词retrieval。基本思想:用字符串的公共前缀降低查询时间。比如,在最优的查询二叉树中查询关键字的时间复杂度为M * log N,M是字符串[详细]
-
【数据结构】什么是数据结构?
所属栏目:[安全] 日期:2020-12-15 热度:134
绪论 第一个很有意义,又没什么意义的问题: 什么是数据结构 ?? 其实,数据结构在计算机科学界至今没有标准的定义。个人根据各自的理解的不同而有不同的表述方法: Sartaj Sahni在他的《数据结构、算法与应用》一书中称: “数据结构是数据对象,以及存在[详细]
-
【数据结构】算法复杂度
所属栏目:[安全] 日期:2020-12-15 热度:178
算法复杂度是在《数据结构》这门课程的第一章里出现的,因为它稍微涉及到一些数学问题,所以很多同学感觉很难,加上这个概念也不是那么具体,更让许多同学复习起来无从下手,下面我们就这个问题给各位考生进行分析。 首先了解一下几个概念。一个是时间复杂度[详细]
-
【数据结构】单链表的建立,测长,打印,删除,插入, 排序, 逆
所属栏目:[安全] 日期:2020-12-15 热度:146
conio.h不是C标准库中的头文件,是console input/output(控制台输入输出)的简写,其中定义了通过控制台进行数据录入和输出的函数,主要是一些用户通过键盘产生的 对应操作,例如getch()函数等。 pre name="code" class="cpp"// 13_1_linklist.cpp : Define[详细]
-
【深度探索 STL】【数据结构】详解红黑树(一)结构及插入
所属栏目:[安全] 日期:2020-12-15 热度:54
红黑树概述 历史上 AVL 树流行的另一变种是红黑树(red-black tree)。对红黑树的操作能保证在最坏情况下动态几何操作的时间为 O(logN) 。之前介绍过AVL 树,该树都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。但 R[详细]
-
【数据结构】给出一个链表,遍历一次就找到中间节点
所属栏目:[安全] 日期:2020-12-15 热度:195
/prepre name="code" class="plain"span style="font-family: Arial,Helvetica,sans-serif;"pre name="code" class="cpp"// 13_1_7.cpp : Defines the entry point for the console application./span //#include "stdafx.h"#include stdio.h #include conio[详细]
-
【数据结构】双链表的建立,排序,插入,删除
所属栏目:[安全] 日期:2020-12-15 热度:106
双链表各类操作与单链表类似,只是每个节点多了一个pre指针 // Bi_linklist.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include string.h#include iostream#include conio.h#include stdio.husing namespace std;typ[详细]
-
【数据结构】循环链表解决约瑟夫环问题
所属栏目:[安全] 日期:2020-12-15 热度:168
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。 // 13_3.cpp : De[详细]
-
【数据结构】队列的出队和入队操作
所属栏目:[安全] 日期:2020-12-15 热度:89
队列的操作规则是先进先出,要注意一下, 1.队列为空 2.队列只有一个元素,即头尾指针都指向空 3.初始化队列时,分配空间后不要忘记将头为指针置空 // 13_4.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include strin[详细]
-
【数据结构】排序算法总结及php排序算法实现代码(伪代码见 http
所属栏目:[安全] 日期:2020-12-15 热度:100
在待排序的文件中,若存在多个关键字相同的记录,经过排序后这些具有相同关键字的记录之间的相对次序保持不变,该排序方法是稳定的;若具有相同关键字的记录之间的相对次序发生改变,则称这种排序方法是不稳定的。即所有相等的数经过某种排序方法后,仍能保持[详细]
-
【数据结构】判断两个二叉树是否相等
所属栏目:[安全] 日期:2020-12-15 热度:85
判断两个二叉树是否相等,就是当根节点相等时两数的左右子树对应相等或互换后相等,应使用递归来解 #include "stdafx.h"#include conio.h#include iostream#include stdio.husing namespace std;typedef struct TreeNode{char data;TreeNode *leftchild;Tree[详细]
-
【数据结构】两个单循环链表的连接操作
所属栏目:[安全] 日期:2020-12-15 热度:106
如果在单链表或头指针表示的链表上操作这个比较消耗性能,因为都需要遍历第一个链表,找到an,然后将b1链接到an的后面,时间复杂度是:O(n)。若在尾指针表示的单循环链表上实现,则只需改变指针,无需遍历,时间复杂度是:O (1) 现在看算法实现,需要4个主要[详细]
-
【数据结构】: 树状数组 (Binary Indexed Trees)
所属栏目:[安全] 日期:2020-12-15 热度:125
树状数组(Binary Indexed Trees) November 15,2012 作者:Hawstein 出处: http://hawstein.com/posts/binary-indexed-trees.html 声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0,转载请注明作者及出处[详细]
-
【数据结构】约瑟夫环
所属栏目:[安全] 日期:2020-12-15 热度:147
#include stdio.h#include stdlib.h#define STATUS int#define TRUE 1#define FALSE 0struct _Node{int data;//数据域struct _Node *next;//下个节点struct _Node *pre;//上个节点};struct LinkList{_Node *head;//表头_Node *rear;//表尾int len;//当前表长[详细]
-
【数据结构】迷宫搜索
所属栏目:[安全] 日期:2020-12-15 热度:50
递归版与非递归版 #define DeBUG#include iostreamusing namespace std ;#define zero {0}int dir[4][2]= {{0,1},{1,0},{0,-1},{-1,0}};int mp[100][100];char road[100][100];int visit[100][100];int n,m;bool dfs(int x,int y){int nowx;int nowy;int fla[详细]