数据结构
文章平均质量分 96
本专栏主要是观看b站王卓老师讲解的和翻阅其他资料等等做的笔记
尘觉
在编程的世界里,我相信每一行代码都是一次对未来的投资。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构(十)——头插法和尾插法建立单链表
本文介绍了单链表的两种创建方法:头插法和尾插法。头插法将新节点插入链表头部,使链表顺序与输入顺序相反;尾插法将新节点插入链表尾部,保持输入顺序。两种方法时间复杂度均为O(n),但适用场景不同:头插法适合逆序存储,尾插法适合保持顺序。文章详细讲解了两种方法的实现原理、代码示例和边界条件处理,并对比了它们的优缺点。同时提醒在链表操作中需注意位置合法性检查,避免非法指针访问。这些知识是学习更复杂数据结构的基础。原创 2024-03-10 13:05:15 · 1657 阅读 · 0 评论 -
数据结构(九)——单链表的基本操作
指向头结点 p=L;指向首元结点p=L->next;i=1;指向下一结点p=p->next;单链表的基本操作是在使用单链表时必须掌握的知识点。初始化操作用于创建一个空链表,并将头指针指向头结点;销毁操作用于释放链表占用的内存空间;清空操作将链表中的所有结点清空,但保留头结点和头指针;求表长操作用于计算链表中结点的个数;按值查找操作用于根据特定的数据查找该数据在链表中的位置;插入操作用于向链表中插入新的结点;删除操作用于删除链表中的指定结点。原创 2024-03-10 12:59:56 · 1138 阅读 · 0 评论 -
数据结构(八)——初识单链表
本文介绍了单链表作为一种基本的链表结构,在数据结构中的重要性和应用。我们了解了单链表节点的组成和节点之间逻辑关系的表示方式,以及头指针和头结点的概念。通过学习单链表,我们可以实现各种常见的链表操作,如插入、删除和查找元素。同时,我们也了解到单链表的一些优点和缺点,这有助于我们在实际应用中选择适合的数据结构。掌握单链表的基本概念和操作是学习和理解更复杂的数据结构的基础。在接下来的学习中,我们将进一步深入探讨链表相关的知识,并学习更多高级的数据结构和算法。😁热门专栏推荐想学习vue的可以看看这个。原创 2024-03-07 22:42:30 · 1077 阅读 · 0 评论 -
数据结构(七)——线性表的基本操作
数据结构:线性表的基本操作 本文介绍了线性表的基本操作与特性: 基本操作 初始化:分配存储空间并赋初值 销毁/置空:释放内存或清空元素 查找:顺序查找平均时间复杂度O(n) 插入/删除:需移动元素,平均时间复杂度O(n) 优缺点 优点:存储密度高、支持随机访问 缺点:插入删除效率低、容量固定 发展前沿 包括高性能存储优化、并行处理、动态扩容及与现代数据结构的结合应用。 (摘要字数:149字)原创 2024-03-06 22:54:40 · 1363 阅读 · 0 评论 -
数据结构(六)——线性表的顺序实现
类型说明符 数组名[常量表达式]说明:常量表达式中可以包含常量和符号常量(宏命名),不能包含变量。即C语言中不允许对数组的大小作动态定义。线性表经常进行插入和删除的操作长度可变而C中数组的长度是不可变的。数组名其实就是首元素的地址所以也可以直接定义一个指针。数组的大小用相应的函数来动态分配内存用结构体变量名.成员变量名对成员访问;指针:SqList *p=&L;p->data=…;原创 2024-01-24 18:39:49 · 1502 阅读 · 0 评论 -
数据结构(五)——初识线性表
在一列火车中,每个车厢都有一个特定的位置,车厢按照一个明确的顺序相连。这类似于线性表中的元素按照特定的顺序排列。每个车厢都知道它前面和后面连接的车厢是哪一个(就像线性表中的每个元素都有一个前驱和一个后继)。 在这样的结构中,可以很容易地添加或删除车厢(在线性表中这对应于插入和删除操作)。例如,如果我们想在第3车厢和第4车厢之间添加一个新的车厢,我们可以断开第3车厢和第4车厢之间的连接,然后将新的车厢插入其中。原创 2023-12-30 08:35:09 · 2103 阅读 · 0 评论 -
数据结构(四)——渐进时间复杂度
😀前言🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的满意是我的动力😉在csdn获奖荣誉: 🏆csdn城市之星2名 💓Java全栈群星计划top前5 🤗 端午大礼包获得者 🥰阿里云专家博主。原创 2023-12-12 18:20:33 · 1532 阅读 · 0 评论 -
数据结构(三)——算法和算法分析
解决问题的方法和步骤。在计算机中表现为指令的有限序列。其中每条指令表示一个或多个操作。通过本文的学习,我们深入探讨了数据结构和算法的重要性以及与程序设计的关系。我们介绍了算法的定义和描述方式,包括自然语言、流程图、伪代码和类C语言等方法。我们还讨论了算法的特性和设计要求,以及算法分析的方法和时间复杂度、空间复杂度的重要性。通过学习本文,读者将对算法和算法分析有更深入的了解,能够在实际的软件开发和问题解决中应用它们。😁热门专栏推荐想学习vue的可以看看这个java基础合集数据库合集redis合集。原创 2023-12-02 14:07:05 · 1397 阅读 · 0 评论 -
数据结构(二)基本概念和术语
D是数据对象;S是D上的关系集;数据对象之间的关系构成的集合,(数据对象与数据对象之间可能有多种关系构成了这个集合)P是对D的基本操作集。ADT 抽象数据类型名{数据对象:(数据对象的定义)数据关系:(数据关系的定义)基本操作:<基本操作的定义)}ADT 抽象数据类型名其中,数据对象和数据关系的定义采用数学符号和自然语言描述,基本操作的定义格式为:基本操作名(参数表)初始条件:<初始条件描述>操作结果:<操作结果描述>说明赋值参数,只为操作提供输入值。原创 2023-11-14 09:39:04 · 7021 阅读 · 17 评论 -
探索设计模式:从组合到享元的软件架构之旅 (软件设计师笔记)
设计模式提供了一种结构化的方法来处理常见的设计问题,从而提高代码的可读性、可重用性和可维护性。通过上述模式的介绍和示例,我们可以看到它们是如何在实际情况中应用的。例如,Composite 模式可以帮助我们表示对象的层次结构,Decorator 模式允许我们动态地添加功能,Facade 模式提供了一个统一的接口来简化复杂系统,而 Flyweight 模式则通过共享技术来有效地支持大量的细粒度对象。当正确使用时,这些模式可以大大增强我们的代码质量和开发效率。😁热门专栏推荐想学习vue的可以看看这个。原创 2023-09-29 11:12:10 · 636 阅读 · 0 评论 -
数据结构笔记(一)绪论
凭借一句话获得图灵奖的Pascal语言之父——Nicklaus Wirth,让他获得图灵奖的这句话就是他提出的著名公式程序数据结构算法程序=数据结构+算法程序数据结构算法 这个公式对计算机科学的影响程度足以类似物理学中爱因斯坦的“E=MC^2 一个公式展示出了程序的本质算法其实就是用于解决某一类问题的公式与思想。(给出问题的数学模型)而数据结构就是数据的组织、管理和存储格式,其使用目的是为了高效的访问和修改数据。至于程序就是计算机处理问题的一系列指令。原创 2023-11-01 19:07:46 · 799 阅读 · 0 评论
分享