随笔分类 -  数据结构

初学数据结构写下的笔记
摘要:二叉查找树 引入:因为虽然数据顺序排列的数组二分查找效率非常高,但在插入和删除上的效率是O(n)。为了降低插入和删除的复杂度,可以考虑使用二叉查找树。使用二叉查找树会使插入和删除时的复杂度大大降低,但其查找效率则和树高紧密关联。 对于任意一棵子树,其左子树比根节点小,右子树比根节点大。即:左 < 根 阅读全文
posted @ 2025-01-15 23:05 codels 阅读(32) 评论(0) 推荐(0)
摘要:数组利用哨兵位查找元素 存储时把数组的下标0处空出,留着放哨兵位; 从后向前遍历数组,直到找到目标元素,或者找到哨兵结束; 根据被找到元素的所在位置判断元素是否在数组中存在 在 0 处:不存在 不在 0 处:存在 实现: int searchBySent(int * arr, int target) 阅读全文
posted @ 2024-07-28 19:07 codels 阅读(36) 评论(0) 推荐(0)
摘要:二叉树 结构描述: #include <iostream> #include <queue> using namespace std; typedef int DataType; class Node { private: DataType data; Node * left; Node * rig 阅读全文
posted @ 2024-07-25 13:50 codels 阅读(18) 评论(0) 推荐(0)
摘要:双链表 结构描述: #include <iostream> #include <cstdlib> using namespace std; typedef int DataType; //链表节点 typedef struct Node { DataType A; struct Node * Pre 阅读全文
posted @ 2024-07-18 20:48 codels 阅读(33) 评论(0) 推荐(0)
摘要:栈:数组实现 结构描述: #define MAX 100 typedef int DataType; class SeqStack { public: DataType * A; int Top; void Init(); void Push(DataType X); void Pop(); Dat 阅读全文
posted @ 2024-07-18 14:43 codels 阅读(23) 评论(0) 推荐(0)
摘要:双栈:数组实现 结构描述: #include <iostream> #include <cstdlib> #define MAX 100 using namespace std; typedef int DataType; class DoubleStack { public: DataType * 阅读全文
posted @ 2024-07-18 14:42 codels 阅读(55) 评论(0) 推荐(0)
摘要:栈:链表实现 结构描述 #include <iostream> #include <cstdlib> typedef int DataType; using namespace std; typedef struct Node { DataType A; struct Node * Next; }N 阅读全文
posted @ 2024-07-18 14:42 codels 阅读(24) 评论(0) 推荐(0)
摘要:单链表 先来看看它的结构, 这是一个被用户自定义出来的一个数据类型, 名字叫 struct Node, 再使用 typedef 命名为 Node. DataType A 称为链表节点的数据域 struct Node * Next 称为链表节点的指针域, 存放的是相对于当前节点的下一个节点的地址. t 阅读全文
posted @ 2024-07-18 14:41 codels 阅读(36) 评论(0) 推荐(0)
摘要:顺序表 结构描述 #include <iostream> #include <cstdlib> #define MAX 100 using namespace std; typedef int DataType; class SeqList { private: DataType * A; int 阅读全文
posted @ 2024-07-18 14:41 codels 阅读(33) 评论(0) 推荐(0)
摘要:循环队列:链表实现 结构描述 typedef int DataType; typedef struct QueueNode { DataType A; struct QueueNode * Next; }Node; class QueueCycLinked { public: //队头、队尾指针 N 阅读全文
posted @ 2024-07-18 14:38 codels 阅读(123) 评论(0) 推荐(0)
摘要:队列:链表实现 结构描述: typedef int DataType; typedef struct QueueNode { DataType A; struct QueueNode * Next; }Node; class QueueLinked { public: //队头、队尾指针 Node 阅读全文
posted @ 2024-07-18 14:35 codels 阅读(90) 评论(0) 推荐(0)