数据结构和算法
文章平均质量分 96
数据结构和算法
yacolex
认真搬砖~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
1_数据结构和算法复习-文章索引
编写《数据结构和算法复习》相关文章的契机,是我在梳理数据库和微服务相关知识的过程中,发现此部分知识记忆的有些模糊和混淆。长期的业务coding中,有些知识并不常用,导致这些储备的知识逐步在脑袋里边缘化。偶尔需要的时候,有没有系统、简洁直观的资料能够高效进行复习。所以,有了编写数据结构和算法相关复习资料的想法。这也避免自己持续堕落,敦促自己不断学习保持状态。平时比较忙,我会尽量抽时间完善知识体系相关文章。遇到有代表性的知识或问题,也将不定期的补充进来。原创 2025-09-19 11:55:31 · 373 阅读 · 0 评论
-
3.3_数据结构和算法复习-栈
本文介绍了栈的基本概念、特性和实现方式。栈是一种后进先出(LIFO)的线性表,仅允许在栈顶进行插入(push)和删除(pop)操作。文章给出了栈的抽象数据类型(ADT)定义,并重点展示了基于数组实现的顺序栈代码。该实现包含push、pop、peek等基本操作,支持动态扩容和缩容,同时提供了测试用例验证功能。完整代码已开源,适合技术学习和参考使用。原创 2025-10-09 14:58:48 · 875 阅读 · 0 评论 -
3.2_数据结构和算法复习-链表
本文主要介绍了链表的数据结构和相关算法。链表是一种非连续存储的线性结构,通过指针链接实现动态存储。文章详细解析了链表的核心特点、与数组的区别、抽象数据类型(ADT)定义以及不同链表类型(单链表、双链表、循环链表和静态链表)的特性对比。同时提供了链表的基本操作接口定义,包括构造、查询、增删改查等功能。链表适合频繁插入删除但随机访问少的场景,相比数组具有动态扩容优势,但空间局部性较差。文章还包含伪代码和Java接口定义,可作为技术学习参考。原创 2025-09-29 16:22:51 · 1021 阅读 · 0 评论 -
3.1_数据结构和算法复习-数组
数据结构与算法复习:数组摘要数组是线性表的顺序存储实现,具有以下核心特性:存储结构:连续内存空间存储相同类型元素,支持O(1)随机访问操作效率:查找O(n),插入/删除O(n)(需移动元素)优缺点:内存效率高但扩容成本大,缓存友好但容量固定典型应用:排序算法、矩阵运算、查找表等动态数组实现:通过自动扩容机制(如Java ArrayList)解决固定长度问题文章还提供了数组的ADT描述和Java动态数组实现示例,展示基本操作方法及复杂度分析。原创 2025-09-29 14:41:34 · 711 阅读 · 0 评论 -
3_数据结构和算法复习-线性结构
本文介绍了线性表的基本概念、分类及其实现方式。线性表是由n个相同类型数据元素构成的有限序列,分为一般线性表和受限线性表两大类。一般线性表支持任意位置的插入和删除操作,可通过顺序表(数组)或链表实现,前者查询效率高,后者增删灵活。受限线性表(如栈、队列)对操作位置施加限制,遵循特定访问规则(如LIFO或FIFO),适用于特定场景如函数调用、任务调度等。两种存储方式各有利弊:顺序存储随机访问快但容量固定,链式存储动态扩展但访问效率低。文章还提供了相关数据结构的详细学习链接。原创 2025-09-23 14:26:45 · 564 阅读 · 0 评论 -
2_如何选择合适的数据结构和算法?
如何选择合适的数据结构和算法?这是一个从“知道”到“会用”的关键问题。选择合适的数据结构和算法是程序员最重要的技能之一,它没有唯一的正确答案,而是一个基于约束条件进行权衡的决策过程。明确你对数据要执行哪些操作,以及每种操作的执行频率。这是最关键的一步。常见操作:插入(Insert)、删除(Delete)、查找(Search)、访问(Access)、遍历(Traverse)、排序(Sort)等。你需要分析:哪种操作是最常用的?是查找多还是插入多?是否需要频繁按顺序访问数据?原创 2025-09-19 13:17:07 · 947 阅读 · 0 评论
分享