数据结构

解析数据结构:八大数据结构分类

解析数据结构:八大数据结构分类数据结构分类数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。常用的数据结构有:数组,栈,链表,队列,树,图,堆,散列表等,如图所示:每一种数据结构都有着独特的……

图的存储-邻接矩阵及C/++代码实现

图的存储-邻接矩阵及C/++代码实现1.什么是图图论(graphtheory)是数学的一个分支,它以图为研究的对象。图论本身是应用数学的一部分,历史上图论曾经被很多数学家各自独立建立过。关于图论的最早文字记载最早出现在欧拉1736年的论……

C++STL之Set容器

C++STL之Set容器1.简介Set(集合)属于关联式容器,也是STL中最实用的容器,关联式容器依据特定的排序准则,自动为其元素排序。Set集合的底层使用一颗红黑树(可能读者对此不太了解,等但学到树论与图论的章节的时候就会……

数学基础

数学基础在开始我们数据结构的教程之前,你需要具备以下数学基础知识,这些知识可能不会马上体现在计算机编程中,但是随着学习的深入,这些知识愈发愈用的平凡,于其遇到了再的碎片化,不如我们单独开出一节来单独学习这些数……

竞赛学习路线推荐(算法数据结构)

竞赛学习路线推荐(算法数据结构)阅读这一节之前,请确认你熟悉的语言,无论C、C++、java都已经很熟练运用,不存在语法问题了,否则参考本节的学习路线会让你变得着急和打退堂鼓对于已经掌握一种语言可以参赛之后,算法和数据结构的学习,笔……

动态查找-二叉排序树介绍与实现

动态查找-二叉排序树介绍与实现1.算法简介二叉排序树(BinarySortTree),又称二叉查找树(BinarySearchTree),亦称二叉搜索树。该树属于一种输入数据就默认产生一种顺序的数据结构,这不像本章前面的内容所描述……

用数组实现模拟算法C/C++实现(配例题)

用数组实现模拟算法C/C++实现(配例题)1.概念数组这个概念并不陌生,然而,数组本身也是一种数据结构。数组在存储数据时是按顺序存储的,存储数据的内存也是连续的,所以他的特点就是寻址读取数据比较容易,插入和删除比较困难。简单解释一下为什么,在……

双向链表的基本操作及C语言代码实现

双向链表的基本操作及C语言代码实现1.  双向链表的插入操作如图所示:对于每一次的双向链表的插入操作,我们首先需要创建一个独立的结点并通过malloc操作开辟相应的空间,其次我们选中这个新创建的独立……

动态规划DP算法详解

动态规划DP算法详解1.简介动态规划(dynamicprogramming)是运筹学的一个分支,是求解决策过程(decisionprocess)最优化的数学方法。20世纪50年代初美国数学家R.E.Bellman等人在研……

C++STL之Vector容器

C++STL之Vector容器1.概念Vector可以翻译为向量,或向量数组,至于为什么以向量命名,可以理解为一维空间也是存在向量的。Vector是最简单的序列是容器,就像数组一样,向量使用连续的存储位置作为元素,这意味着它们的元……