
数据结构
文章平均质量分 94
记录学习数据结构的日常,通过数据结构深入了解计算机,大家也可以通过我的文章来进行学习和复习
九离十
方才无悔
展开
-
数据结构(5)——栈
栈是一种常见的数据结构,其主要作用是存储和管理数据。栈遵循先进后出(FILO)的原则,即最后入栈的元素最先出栈。栈通常用于临时存储数据、函数调用和表达式求值等场景。一、//动态栈int top;//下标}ST;动态栈的结构体定义就是以上,一个块内有一个数据域,然后定义一个下标,用来实现后续的操作,还有当前数组的容量,后续可以对其实现更新。数据类型用typedef来定义。这篇文章很详细地介绍了栈的概念、结构以及实现,同时提供了栈的各种操作函数的代码实现。原创 2025-04-02 16:44:53 · 831 阅读 · 0 评论 -
数据结构(4)——带哨兵位循环双向链表
前面我们学习了单链表的一些知识,由单链表引申出双向链表,同时带哨兵位或者不带哨兵位是两种,但大差不差,这里学习一下带哨兵位的循环双向链表。其实有很多链表的结构,组成它们的也就是循环非循环,带哨兵位不带哨兵位,双向还是单向。一、带哨兵的循环双向链表是什么无哨兵单向非循环链表:结构简单,也就是我们常说的单链表,一般不会用来单独存数据,实际中更多是作为其它数据的子结构,如哈希桶,图的邻接表等等。而带哨兵双向循环链表。原创 2025-03-29 15:36:41 · 971 阅读 · 0 评论 -
数据结构(1)——算法时间复杂度与空间复杂度
数据结构”是计算机程序设计的重要理论技术基础,它不仅是计算机的核心课程,而且已成为其它理工专业的热门选修课。——《数据结构C语言版》严蔚敏一、算法1.1算法是什么?首先,我们总能听见算法算法的,到最后一问你算法是什么?你支支吾吾的回答说不就是一些计算的方式吗?难不成还有其它解释方法。对此,在严蔚敏算法(algorithm)是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或者多个操作。原创 2025-02-01 18:04:56 · 1239 阅读 · 0 评论 -
数据结构(2)——线性表与顺序表实现
今天对顺序表进行学习,可以把它了解成一个连续的表,类似数组。一、线性表线性表(linear list)是N个具有相同特性的数据元素的有限数列。线性表是一种在实际中广泛使用的数据结构,常见的线性表有:顺序表、链表、队列、字符串等等。顺序表这里实现增删改查,分别实现的功能有初始化,头删,头插,尾删,尾插,修改,查元素。我们开始实现:原创 2025-02-03 21:28:58 · 1028 阅读 · 0 评论 -
数据结构(3)——单链表
我们之前学过了顺序表,认识到本身就是一段连续的储存地址构成的空间,可以不断通过动态分配内存构成空间,而链表在空间上与它不同。一、链表的概念和结构为什么要写一个这样的函数,因为我们后续的实现,包括插入,删除,查找什么的都可能会需要这一段代码,为了防止复用,所以就直接自己封装一个函数代码,以后调用就方便多了。//定义一个首节点return;//对首节点初始化。原创 2025-02-17 12:29:09 · 872 阅读 · 0 评论