数据结构

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

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

set theory(集合论)

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

栈(先进后出的数据结构)的设计与实现

栈(先进后出的数据结构)的设计与实现1.栈的概念在开始前,请牢记这句话:栈是一种先进后出的数据结构。栈(stack)是限定仅在表的一端进行操作的数据结构,请联系我们前文所学的,设想一个单链表我们只能够对其链表的表尾结点进行操作,而操作也……

矩阵的介绍及乘法运算(附C语言实现代码)

矩阵的介绍及乘法运算(附C语言实现代码)1.矩阵概念在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,最早来自于方程组的系数及常数所构成的方阵。这一概念由19世纪英国数学家凯利首先提出。矩阵是高等代数学中的常见工具,也常……

贪心算法实例详解

贪心算法实例详解1.简介贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,……

时间复杂度的度量方法

时间复杂度的度量方法接上文,在理解了时间复杂度的概念后,就可以根据实际的代码进行度量了,以下举例了几个常用的时间复杂度的表示,对于如何度量其最重要的是观察程序中的循环结构,每一个循环结构代表执行循环中的指令n次,而其余指……

单链表的基本设计(C语言代码实现)

单链表的基本设计(C语言代码实现)1.单链表概念&设计单链表是一种链式存取的数据结构,,链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象)+指针(指示后继元素存储位置),元素就是存储数据的存储单元,指……

什么是单调栈?

什么是单调栈?什么是单调栈?有什么好处?就是栈中元素,按递增顺序或者递减顺序排列的时候,单调栈的最大好处就是时间复杂度是线性的,每个元素遍历一次!单调栈是一种数据结构,它里边存放的数据具有单调性,每个元素都只进栈一……

最短路径,迪杰斯特拉(Dijkstra)算法及C/C++代码实现

最短路径,迪杰斯特拉(Dijkstra)算法及C/C++代码实现1.何为最短路径最短路径问题是图论研究中的一个经典算法问题,旨在寻找图(由结点和路径组成的)中两结点之间的最短路径,大致可以分为如下几种问题,可无论如何分类问题,其本质思想还是不变的,即,求两点间的最……