数据结构

什么是“并查集” ?

什么是“并查集” ?什么是“并查集”?并查集,是一种可以使用代表元来表示不相交集的数据结构,在一些只需要查询两个元素是否属于同一个集合的情况下它很有用。比如给定一个无向图,判断两个顶点是否属于同一……

最小生成树,克鲁斯卡尔(Kruskal)算法及C/C++代码实现

最小生成树,克鲁斯卡尔(Kruskal)算法及C/C++代码实现1.克鲁斯卡尔算法简介克鲁斯卡尔(Kruskal)算法是一种用来寻找最小生成树的算法(用来求加权连通图的最小生成树的算法)。在剩下的所有未选取的边中,找最小边,如果和已选取的边构成回路,则放弃,选取次……

C/C++如何加速输入输出效率(上)

C/C++如何加速输入输出效率(上)1.简介遇到大数据时,往往读写文件成了程序运行速度的瓶颈,需要更快的读取方式。相信几乎所有的C++学习者都在cin机器缓慢的速度上栽过跟头,有很多案例中提供几个数据,却在后台测评却提供了近千,近万的数……

编程预备

编程预备两个必备的函数知识(其均来自于stdlib.h库中)1.Malloc函数malloc()函数在堆中申请分配一个大小为size个字节的连续内存空间,若成功分配,则返回一个指向所分配空间起始地址的指针,否……

堆排序算法实例详解

堆排序算法实例详解1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(n) 平均情况:O(nlogn)稳定性:不稳定排序2.什么是堆?堆排序是一个比较特殊的排序方式,在学习之前我们必须……

树的概念

树的概念1.什么是树树是数据结构中的一种,其属于非线性数据结构结构的一种,我们前文所提到的数据结构多数都是线性的,这也是较为简单的数据结构,而接下来的树与图均属于非线性数据结构,也是概念极多的一类。树是由结点……

顺序队列的介绍及C/C++代码实现

顺序队列的介绍及C/C++代码实现1.队列的概念在开始前,请牢记这句话:队列是一个先进先出的数据结构。队列(queue)是限定在表的一端进行插入,表的另一端进行删除的数据结构,如同栈的学习,请联系前文所学链表,试想一个单链表,我们只能……

数据结构的特点

数据结构的特点本篇我们来总结一下数据结构的特点,帮助大家更好的运用。1、数组数组使用下标查找十分迅速,但计算机内存有限,故数组的长度有限,数组初始化就需要声明数组的长度。实际应用当中的数据往往十分庞大;无序数组的查……

邻接表的定义及C/C++代码实现

邻接表的定义及C/C++代码实现1.邻接表概念邻接表(AdjacencyList)顾名思义,就是通过链表或者利用数组模拟链表的方式将图的相连接关系表示的一种方法,存储方法跟树的孩子链表示法相类似,是一种顺序分配和链式分配相结合的存储……

set theory(集合论)

set theory(集合论)1.集合论简介集合论,是数学的一个基本的分支学科,研究对象是一般集合。集合论在数学中占有一个独特的地位,它的基本概念已渗透到数学的所有领域。集合论或集论是研究集合(由一堆抽象物件构成的整体)的数学理论……