logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【数据结构与算法】第10篇:项目实战:学生信息管理系统(线性表版)

前9篇我们学了顺序表、单链表、双向链表等线性结构。这一篇来做个实战项目:学生信息管理系统。我们会用单链表来存储学生信息,实现增删改查功能,并采用模块化设计,把代码拆分成.h和.c文件。这是一个完整的命令行小项目,你可以把它当作数据结构学习的第一个综合练习。

#算法#visual studio#数据结构 +1
【数据结构与算法】第40篇:图论(四):最短路径——Dijkstra算法与Floyd算法

最短路径问题是图论中的核心问题之一。这一篇我们学习两种最经典的算法:Dijkstra算法解决单源最短路径(从一个顶点到其他所有顶点),Floyd算法解决多源最短路径(任意两点之间)。Dijkstra基于贪心思想,不能处理负权边;Floyd基于动态规划,代码简洁但时间复杂度较高。我们会用C语言实现两种算法,并分析它们的适用场景。

#图论#算法#排序算法 +4
【数据结构与算法】第25篇:静态查找(一):顺序查找与折半查找

查找是在数据集合中寻找满足特定条件的数据元素。静态查找指查找过程中数据集合不变。这一篇我们学习两种最基本的静态查找算法:顺序查找和折半查找。顺序查找简单但效率低,折半查找效率高但要求数据有序。我们会实现哨兵优化的顺序查找,以及折半查找的递归和非递归版本,并介绍折半查找的判定树。

#算法#java#数据结构 +4
【数据结构与算法】第43篇:Trie树(前缀树/字典树)

Trie树是一种专门处理字符串的高效数据结构,它将字符串的公共前缀合并存储,能在O(L)时间内完成插入和查找(L为字符串长度),远快于哈希表。这一篇我们实现Trie树的节点结构,手写插入、搜索、前缀匹配等操作,并用它解决自动补全和单词统计问题。

#深度优先#矩阵#图论 +4
【数据结构与算法】第48篇:算法思想(三):贪心算法

贪心算法是求解优化问题的一种策略,它在每一步都做出当前看起来最优的选择,希望通过局部最优达到全局最优。贪心算法通常简单高效,但并不是所有问题都适用——需要问题具有贪心选择性质。这一篇我们通过活动选择问题和找零问题来理解贪心的核心思想,并分析贪心算法与动态规划的区别

#算法#贪心算法#c语言 +4
【数据结构与算法】第39篇:图论(三):最小生成树——Prim算法与Kruskal算法

最小生成树(MST)是在带权无向连通图中找一棵包含所有顶点的树,且边权之和最小。这一篇我们学习两种经典算法:Prim算法从顶点出发,适合稠密图;Kruskal算法从边出发,结合并查集,适合稀疏图。我们会用C语言实现两种算法,并对比它们的适用场景。

#图论#算法#排序算法 +4
【数据结构与算法】第38篇:图论(二):深度优先搜索(DFS)与广度优先搜索(BFS)

图的遍历是图算法的基础。深度优先搜索(DFS)像走迷宫,一条路走到黑再回头;广度优先搜索(BFS)像水面涟漪,一层一层向外扩散。这一篇我们分别用递归实现DFS、用队列实现BFS,并对比两种遍历产生的序列差异,理解它们的适用场景。

#深度优先#图论#宽度优先 +4
【数据结构与算法】第30篇:哈希表(Hash Table)

哈希表是一种通过哈希函数直接映射数据位置的数据结构,理想情况下查找、插入、删除的时间复杂度都是O(1)。这一篇我们学习哈希函数的设计(除留余数法),以及两种冲突解决方法:链地址法(拉链法)和开放地址法(线性探测、二次探测)。最后手写一个完整的哈希表实现。

#散列表#哈希算法#数据结构 +3
【数据结构与算法】第22篇:线索二叉树(Threaded Binary Tree)

在普通的二叉链表中,n个节点共有2n个指针域,其中只有n-1个指向实际节点(根节点除外),其余n+1个都是空指针,造成空间浪费。线索二叉树就是利用这些空指针,指向节点的前驱或后继,从而可以在线性时间内完成遍历,而不需要递归或栈。这一篇我们实现中序线索化及其中序遍历。

#链表#c语言#数据结构 +4
【数据结构与算法】第18篇:数组的压缩存储:对称矩阵、三角矩阵与稀疏矩阵

在科学计算和工程应用中,经常遇到特殊矩阵——大量元素重复或为零。如果直接用二维数组存储,会浪费大量空间。这一篇我们学习如何压缩存储这些特殊矩阵:对称矩阵只存一半,三角矩阵只存三角部分,稀疏矩阵只存非零元素。重点讲解稀疏矩阵的三元组表示法和快速转置算法。

#矩阵#算法#数据结构 +4
    共 114 条
  • 1
  • 2
  • 3
  • 12
  • 请选择