C/C++数据结构与算法
文章平均质量分 96
理解和掌握C++中的数据结构与算法,对于编写高效、健壮的软件至关重要。
攻城狮7号
这个作者很懒,什么都没留下…
展开
-
【第七节】C/C++排序算法
排序算法可以大致分为两大类:比较类排序和非比较类排序。比较类排序(非线性时间比较类排序)冒泡排序(Bubble Sort):通过重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。选择排序(Selection Sort):首先在未排序序列中找到最小(或最大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(或最大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。原创 2024-07-02 11:53:44 · 638 阅读 · 0 评论 -
【第六节】C/C++静态查找算法
静态查找算法是在一个静态的数据结构(如数组或列表)中查找特定的元素。这些算法在执行查找操作时不会修改原始数据结构。顺序查找(Linear Search)顺序查找是最简单的查找算法。它从数据结构的一端开始,逐个检查每个元素,直到找到所需的元素或到达数据结构的另一端。这种算法的时间复杂度为O(n),其中n是数据结构的长度。二分查找(Binary Search)二分查找是一种在有序数组中进行查找的高效算法。它首先将数组的中间元素与目标值进行比较,如果它们相等,则查找成功;原创 2024-07-01 11:33:54 · 638 阅读 · 0 评论 -
【第五节】C/C++数据结构之图
数据结构中图的定义是:图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为G(V, E),其中G表示一个图,V表示顶点的集合(也称为顶集或Vertices Set),E表示顶点之间边的集合(也称为边集或Edges Set)。顶点(Vertex):图中的数据元素,也称为节点或点。边(Edge):顶点之间的逻辑关系,用来表示两个顶点之间的连接关系。在无向图中,边没有方向,用无序偶对(u, v)来表示;原创 2024-07-01 11:21:11 · 1475 阅读 · 1 评论 -
【第四节】C/C++数据结构之树与二叉树
二叉树(Tree)是n个节点的有限集合,该集合为空集(或称为空二叉树),或者由一个根节点和两颗互不相交的、分别称为根节点的左子树与右子树的二叉树组成。A. 所有节点都只有左子树的二叉树叫左斜树,所有节点都只有右子树的二叉树叫右斜树,这两者统称为斜树;B. 在一棵二叉树中,如果所有分支节点都存在左子树与右子树,并且所有叶子都在同一层次上,这样的二叉树称为满二叉树;原创 2024-06-07 20:48:15 · 1562 阅读 · 4 评论 -
【第三节】C/C++数据结构之栈与队列
栈(Stack)可以看成是一种特殊的线性表。限定仅只能在表尾端进行插入和删除的线性表。栈顶:表尾端被称之为栈顶。栈底:和表尾相对应的另一端,称之为栈底。时间有序表:LIFO (Last In First Out)后进先出特征的线性结构。public:AbsStack ( ) { } // 默认构造函数virtual ~ AbsStack ( ) { } // 析构函数// 判栈空吗?// 判栈满吗?//将栈清空。//新结点进栈。// 栈顶结点出栈。原创 2024-06-05 09:58:18 · 1542 阅读 · 1 评论 -
【第二节】C/C++数据结构之线性表
链表中最简单的一种是单向链表,它包含两个域,一个数据域和一个指针域。这个链接指向列表中的下一个节点,而最后一个节点则指向一个空值。单向链表通常由一个头指针(head),用于指向链表头。单向链表有一个尾结点,该结点的指针部分指向一个空结点(NULL)。// 定义链表节点结构体T data;Node* next;// 单链表类模板private:int size;public:// 插入元素到链表头部size++;// 删除链表头部元素if (head!原创 2024-06-04 11:26:12 · 1723 阅读 · 3 评论 -
【第一节】数据结构和算法绪论
直观地说,数据是描述客观事物的数字、字母和符号,是计算机程序使用和加工的“原料”。数据的基本单位是数据元素,性质相同的数据元素的集合叫做数据对象。数据对象中的元素彼此之间的相互关系叫做结构。图书馆的一本图书由书名、作者、出版社等数据来描述,根据需要我们选择其中的若干项组成一个数据元素来对应一本书。图书馆的编目表反映了书与书之间的关系,是数据元素之间的结构。当然我们还应注意到书是具体地放在某个书架上的,它是编目表的物理实现。图书馆从两方面管理图书:物理的藏书和逻辑的编目表。这就是图书馆的结构。原创 2024-06-03 20:08:56 · 1129 阅读 · 1 评论