![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
戴森球399
一位前端工程师
展开
-
KMP算法和BF算法串的模式匹配
KMP算法(Knuth-Morris-Pratt算法)是一种高效的字符串匹配算法,用于在一个文本串中查找一个模式串的出现位置。BF算法的基本思想是从文本串中的每一个可能的起始位置开始,逐个比较模式串和文本串中对应位置的字符,以确定是否匹配。具体步骤如下:原创 2024-01-03 13:05:32 · 550 阅读 · 1 评论 -
单链表的基本操作以及头插法和尾插法建立单链表
本文主要关于单链表的基本操作,创建单链表,插入节点,删除节点,查找结点,清空节点,销毁节点,以及使用头插法和尾插法建立单链表原创 2024-01-01 14:30:48 · 999 阅读 · 0 评论 -
归并排序算法
归并排序(Merge Sort)是一种基于分治思想的排序算法,它的核心思想是将原始数组拆分成较小的子数组,然后递归地排序这些子数组,最后将排好序的子数组合并成一个整体有序的数组。原创 2023-12-31 16:10:54 · 329 阅读 · 0 评论 -
冒泡排序算法
冒泡排序是一种简单的排序算法。它重复地遍历要排序的元素,比较每对相邻的元素,并依次交换它们,直到所有元素都按照顺序排列。在每一轮遍历中,较大(或较小)的元素会逐渐“浮”到数组的末端,因此得名“冒泡”。原创 2023-12-30 23:54:07 · 439 阅读 · 1 评论 -
简单选择排序算法
简单选择排序(Simple Selection Sort)是一种基本的排序算法,它的实现思想是每次在未排序的部分中选择最小(或最大)的元素,然后将其放置在已排序部分的末尾原创 2023-12-31 14:50:50 · 347 阅读 · 0 评论 -
【快速排序算法】
快速排序(Quick Sort)是一种高效的排序算法,基于分治思想实现。它的核心思想是选择一个基准值(通常称为枢轴或pivot),将数组分割成两个子数组,使得左边的元素都小于基准值,右边的元素都大于基准值,然后对这两个子数组分别进行递归排序原创 2023-12-31 14:12:11 · 356 阅读 · 0 评论 -
栈的基本使用
栈是一种基于后进先出(LIFO)原则的数据结构。它类似于一叠盘子,只能在顶部进行操作。栈有两个主要操作:入栈(Push): 将元素放置在栈顶。出栈(Pop): 从栈顶移除元素。原创 2023-12-31 12:52:32 · 348 阅读 · 0 评论 -
队列的基本操作
队列是一种常见的数据结构,类似于现实生活中的排队概念。它按照先进先出(FIFO)的原则管理元素。在队列中,新元素从一端(通常称为队尾)添加,而现有元素从另一端(通常称为队首)移除。这意味着最先进入队列的元素最先被移出,保持了元素的顺序性。原创 2023-12-31 12:02:29 · 452 阅读 · 0 评论 -
【递归和非递归遍历二叉树的先序】
二叉树是一种数据结构,由节点组成,每个节点最多有两个子节点,分别称为左子节点和右子节点。它们之间存在父子关系,每个节点最多有一个父节点(根节点除外)。这种树状结构在计算机科学和程序设计中广泛应用,能够高效地组织和存储数据。原创 2023-12-31 11:15:50 · 479 阅读 · 0 评论 -
顺序表的创建,销毁,查找,插入,删除
顺序表是一种数据结构,它采用线性存储方式将数据元素按照元素值的大小依次存储在一段连续的地址空间中。顺序表通过数组来实现,数组中的每个元素对应一个数据元素,通过数组下标可以方便地访问任意位置的数据元素。顺序表具有随机存取的特点,即可以快速地访问任意位置的数据元素。顺序表也具有插入和删除操作复杂度较高的缺点,因为当需要插入或删除某个位置的数据元素时,可能需要移动大量的元素来保持数组中元素的连续性。本文描述了顺序表的基本操作,顺序表的创建,销毁,查找,插入,删除原创 2023-12-24 13:02:54 · 937 阅读 · 1 评论