数据结构

顺序队列的基本操作(入队出队遍历)及C/C++代码实现

1.入队操作如图,进行入队(push)操作的时候,我们首先需要特判一下队列是否为空,如果队列为空的话,需要将头指针和尾指针一同指向第一个结点,即front=n;rear=n。当如果队列不为空的时候,我们只需要将尾结点向后移动,通过不断移动next指针指向新的结点构成队列即可。

循环链表的介绍及创建(C语言代码实现)

1.循环链表概念对于单链表以及双向链表,其就像一个小巷,无论怎么样最终都能从一端走到另一端,然而循环链表则像一个有传送门的小巷,因为循环链表当你以为你走到结尾的时候,其实你又回到了开头。循环链表和非循环链表其实创建的过程以及思路几乎完全一样,

C++中string字符串类型介绍

1.简介C语言中通过字符相连已经基本创造出了字符串的常规操作,然而,字符串在C语言中并不是常规类型,而是一个类似于数组的结构,在C++中,通过模板类的操作创建了string类,这样的方法更适合于现代的操作编程。2.头文件&命名空间#include<string>//头文件注意不是<string.h>也

什么是数据结构?

一、什么是数据结构?数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。结构包括逻辑结构和物理结构。数据的逻辑结构包括4种(1)集合:数据元素之间除了有相同的数据类型再没有其他的关系。(2)线性结构:数据元素之间是一对一的关系——线性表、栈、队列。

树的遍历之后序遍历二叉树

1.简介依旧是下面的这三句话:先序遍历:根左右中序遍历:左根右后序遍历:左右根后序遍历就是在访问二叉树的结点的时候采用,先左,再右,再根的方式,对于一个最简单的访问而言如图,先访问左节点B,之后访问右结点C,最后访问根节点A,后序遍历的访问顺序就是BCA然而实际上的遍历访问并没有那么简单,

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

1.何为最短路径最短路径问题是图论研究中的一个经典算法问题,旨在寻找图(由结点和路径组成的)中两结点之间的最短路径,大致可以分为如下几种问题,可无论如何分类问题,其本质思想还是不变的,即,求两点间的最短距离。a)确定起点的最短路径问题-即已知起始结点,求最短路径的问题。

广义表的创建及C语言代码实现

1.广义表的创建如图所示,广义表的每一个结点相互串联,有些结点存储原子数据,有些结点则存储另一份广义表数据,我们创建数据stringss="(2,3,4,(1,(3,(7,8)),2))";其基本可以分成4层,每一个层中一个括号表示下一层,在数学表示中,我们也常用括号的级数表示广义表。

数据结构基础

1.基本概念和术语1)数据数据(Data)是信息的载体,是可以被计算机识别,存储并加工处理的描述客观事物的信息符号的总称。数据不仅仅包括了整形,浮点数等数值类型,还包括了字符甚至声音,视频,图像等非数值的类型。2)数据元素数据元素(DataElement)是描述数据的基本单位,也被称为记录。

归并排序算法实例详解

1.复杂度与稳定性算法时间复杂度最坏情况O(NlogN)最好情况O(NlogN)平均情况O(NlogN)空间复杂度O(N)注:归并排序需要创建一个与原数组相同长度的数组来辅助排序稳定性:稳定排序2.过程介绍归并排序的核心思想是将两个有序的数列合并成一个大的有序的序列。

哈希算法实例详解

1.什么是哈希Hash,一般翻译做散列、杂凑,或音译为哈希,是一个典型的利用空间换取时间的算法,把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。如有一个学生信息表:学生的学号为:年纪+学院号+班级号+顺序排序号【如:19(年纪)+002(2号学院)