logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【C】初阶数据结构1 -- 时间复杂度与空间复杂度

算法也是分好坏的,用有的算法写出来的程序可能运行时间只需要4毫秒,而有的算法写出来的程序可能就会需要8秒甚至9秒,如,堆排序和冒泡排序(以后会讲解),都是100000个数据进行排序,但是堆排序只需要4毫秒,而冒泡排序却需要8秒,所以衡量一个算法的好坏就显得尤为重要,那么该用什么来衡量算法的好坏或者执行效率呢?这里就不得不提到这篇文章的重点,复杂度了。

文章图片
#数据结构#c语言
【C】初阶数据结构13 -- 快速排序

本篇文章主要讲解经典的排序算法 -- 快速排序算法

文章图片
#数据结构#c语言#算法
【C】链式二叉树算法题1

其实对于递归算法来说,其实写代码并不是最困难的,重要的是其整个算法的实现逻辑与对于边界条件的思考。如果想熟练运用递归算法的话,就需要对各种边界条件进行考虑,虽然刚开始有点难,但是在练过一定的递归算法的题目之后,相信大家一定可以掌握递归算法。但是也一定不要陷入到递归算法的死循环中,因为递归算法虽然实现简单,但是其对于空间的消耗较大执行效率也不如循环快,所以如果可以用 for 循环或者 while 循

文章图片
#算法#c语言#数据结构
【Linux】进程调度

本篇文章主要讲解 Linux 中的进程优先级以及 O(1) 进程调度算法!

文章图片
#linux
【Linux】内存中的“文件”

本文深入探讨了Linux内核中文件管理的机制。首先阐述了 Linux 一切皆文件的设计理念,硬件设备也被抽象为文件。其次详细分析了文件描述符的本质—文件描述符表的下标,通过这个整数可以找到对应的struct file结构体。文章还解析了stdin、stdout、stderr的默认文件描述符0/1/2,并讲解了重定向的实现原理。此外,文章对比了用户级缓冲区和内核缓冲区的差异,解释了缓冲区的刷新策略及

文章图片
#linux#c++#文件系统
【C++】面向对象三大特性之继承

本文系统讲解了C++继承特性,主要内容包括: 继承概念、继承语法、特殊规则(赋值兼容转换、隐藏、派生类的默认成员函数)、其他特性、继承与组合。

文章图片
#c++#开发语言
【C++】数据结构之图的相关算法

本文系统地介绍了图的遍历算法以及相关算法。主要内容包括: BFS、DFS 及其实现。最小生成树算法: Kruskal算法、Prim算法,二者均基于贪心策略,得到全局最优解。最短路径算法: Dijkstra、Bellman-Ford、Floyd-Warshall 算法,并进行了三者的对比与实现。

文章图片
#数据结构#算法#图论 +1
【C++】STL— 封装红黑树以实现map 和 set

本文主要是通过 map和set的源码实现框架,通过封装红黑树来模拟实现这两种容器。首先解析了STL源码中map和set复用同一棵红黑树的机制,通过模板参数 _Key 和 _Val 实现泛型编程。然后详细介绍了迭代器的实现原理,包括中序遍历的operator++和operator--操作。在具体实现上,文章提出了添加KeyOfT模板参数来解决键值比较问题,并通过const修饰确保key不可修改。最后

文章图片
#c++#数据结构
【C++】数据结构之哈希表(散列表)

本篇文章讲解了哈希表的相关理论,并使用线性探测法与哈希桶实现了哈希表

文章图片
#散列表#数据结构#c++
【C++】数据结构之图的基本概念

本文系统介绍了并查集和图两种重要数据结构。并查集部分详细阐述了其基本概念、逻辑结构(森林表示)与物理存储(数组实现),重点讲解了路径压缩和按秩合并两种优化策略,并通过省份数量、等式方程等LeetCode题目展示了实际应用。图结构部分明确定义按秩合并顶点、边、有向/无向图等核心概念,比较了邻接矩阵和邻接表两种存储方式的优劣,给出了完整的C++实现代码。全文通过理论讲解结合代码实践,为后续学习图的遍历

文章图片
#数据结构#c++
    共 17 条
  • 1
  • 2
  • 请选择