首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
数据结构与算法
倔强的石头_
创建于2025-05-31
订阅专栏
以C语言为基础的数据结构与算法知识讲解
等 3 人订阅
共19篇文章
创建于2025-05-31
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
【数据结构与算法】详解计数排序:小范围整数排序的最佳选择
计数排序是一种基于统计思想的排序算法,它不同于传统的通过元素间比较来确定排序顺序的算法。其核心思想在于,通过统计每个元素在数组中出现的次数,来确定该元素在排序后数组中的位置。这种方法在处理具有明显范围
【数据结构与算法】归并排序:从理论到实践的深度剖析
归并排序(Merge Sort)是一种分而治之的排序算法。它将数组分成两半,对每半部分递归地应用归并排序,然后将结果合并成一个有序数组。归并排序的关键在于合并两个已排序的数组段
【数据结构与算法】快速排序万字全攻略:hoare版本、挖坑法、前后指针法、优化版、非递归实现
快速排序是计算机科学中最著名的排序算法之一,与归并排序、堆排序等算法齐名。它以其简洁的算法逻辑和高效的性能表现,成为了排序算法中的佼佼者。本文将深入探讨快速排序算法的原理、实现方式以及优化策略,帮助读
【数据结构与算法】希尔排序:基于插入排序的高效排序算法
希尔排序(Shell Sort)是插入排序的一种更高效的改进版本,也称为缩小增量排序。希尔排序的直接灵感来源于插入排序,但它在插入排序的基础上进行了显著的改进,旨在提高排序效率,特别是针对大规模数据集
【数据结构与算法】插入排序:原理、实现与分析
在众多排序算法中,插入排序作为一种简单直观的排序方法,虽然在大规模数据集上可能不是最高效的选择,但其独特的优势使得它在某些场景下仍然非常有用。插入排序的基本思想与我们日常生活中整理书籍或卡片的方式非常
【数据结构与算法】选择排序:原理、实现、优化与分析
选择排序(Selection Sort)是一种简单直观的排序算法。 它的工作原理是: 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,
【数据结构与算法】详解二叉树下:实践篇————通过链式结构深入理解并实现二叉树
二叉树是一种重要的数据结构,它以其独特的结构和性质在数据存储、搜索和算法设计中发挥着重要作用。链式结构作为二叉树的一种常见表示方式,通过节点间的指针连接,实现了对二叉树的高效存储和访问。
【数据结构与算法】详解二叉树 上:理论篇——二叉树的基本概念与性质
二叉树是一种重要的树形数据结构,每个节点最多有两个子节点,通常称为左子节点和右子节点。二叉树具有广泛的应用场景和多种特殊的类型,如满二叉树、完全二叉树、二叉搜索树和平衡二叉树等。二叉树的结构简单清晰
【数据结构与算法】利用堆结构高效解决TopK问题
TopK问题:在给定的一组数据或数据流中,找出最大的K个元素或最小的K个元素。使用堆解决TOPK问题在时间复杂度、空间复杂度、算法效率等方面都具有显著优势,是一种高效且实用的算法策略。
【数据结构与算法】堆排序算法原理与实现:基于堆实现的高效排序算法
堆排序算法是一种高效且实用的排序算法,它通过利用堆数据结构的特点和性质,实现了对数据的高效排序。在实际应用中,我们可以根据问题的特点选择使用堆排序算法,以提高程序的性能和效率。
【数据结构与算法】探索数组在堆数据结构中的妙用:从原理到实现
堆是一种特殊的树形数据结构,其每个节点的值都大于或等于(大顶堆)或小于或等于(小顶堆)其子节点的值。在计算机科学中,堆常用于实现优先级队列、堆排序等算法。本文将探讨如何使用数组实现堆,并分析其原理、实
【数据结构与算法】详解循环队列:基于数组实现高效存储与访问
循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。
【数据结构与算法 经典例题】使用队列实现栈(图文详解)
使用两个队列(Queue)实现栈(Stack)的功能是一种常见的数据结构练习。栈是一种后进先出(LIFO)的数据结构,而队列则是先进先出(FIFO)的。解题的关键就在于如何通过巧妙地使用两个队列的先进
【数据结构与算法】冒泡排序:简单易懂的排序算法解析
冒泡排序,作为一种简单的排序算法,其核心思想是通过不断交换相邻两个元素的位置,使得每一轮迭代后,当前未排序部分的最大值(或最小值,取决于排序的方向)能够“冒”到序列的一端。尽管其时间复杂度在大数据集上
【数据结构与算法】使用单链表实现队列:原理、步骤与应用
队列(Queue)是一种特殊类型的线性数据结构,它遵循特定的操作顺序。队列的基本操作通常是在一端添加元素(称为入队或enqueue),在另一端移除元素(称为出队或dequeue)。这种操作特性使得队列
【数据结构与算法】使用数组实现栈:原理、步骤与应用
栈是一种后进先出(LIFO, Last In First Out)的数据结构。栈是一种只能在一端进行插入和删除操作的线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端称为栈底(bottom
【数据结构/C语言】深入理解 双向链表
双向链表是一种常见的数据结构,与单向链表类似,但它允许我们从两个方向遍历链表:向前和向后。每个节点包含三个部分:一个数据元素和两个指针,一个指向链表中的前一个节点,另一个指向链表中的下一个节点。
【数据结构与算法】深入理解 单链表
本篇文章要介绍的是无头结点,单向,不循环链表,即通常我们所熟知单链表,以下如无特殊说明,均代表此含义。
二分查找算法的概念、原理、效率以及使用C语言循环和数组的简单实现
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。时间复杂度为 O(log2n) 也就是说查