![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构算法刷题笔记
文章平均质量分 96
孟庆磊
这个作者很懒,什么都没留下…
展开
-
数据结构算法刷题笔记——题型解法
v1.back();list<int> l 声明一个空链表list<int> l{1,2,3} 声明一个含指定元素的链表list<int> l(n) 声明一个含n个元素的链表并全部初始化为0list<int> l(n, m) 声明一个含n个元素的链表并全部初始化为mlist<int> l(a,b) 声明一个链表并初始化为区间[a,b]中的元素,a、b是迭代器//默认初始化一个空的整数队列//使用初始化列表初始化队列//使用q1来初始化q3// 初始化一个存储vector的队列。原创 2024-03-26 15:37:07 · 908 阅读 · 0 评论 -
数据结构算法刷题笔记——一、极简随记(1.1数组、链表、队列、栈)
给长度相等的数组nums1和nums2,重新组织nums1中元素的位置,使得nums1的优势最大化。如果nums1[i] > nums2[i],就说nums1在索引i上对nums2[i]有优势,优势最大化就是重新组织nums1,尽可能多的让nums1[i] > nums2[i]如果nums2的⻢能赢,那就⽐赛,如果赢不了,那就换个垫底的来送⼈头,保存实⼒。:给一个仅包含字母的字符串,取出字符串中重复的字母,使得每个字母只出现一次,需保证返回结果的字典序最小,要求不能打乱其他字符的相对位置。原创 2023-09-18 11:19:29 · 167 阅读 · 0 评论 -
数据结构算法刷题笔记——二、2.3 priority_queue
优先队列(priority_queue):本质是heap(堆),内部实现是一个二叉堆是一个队列,“优先”意指取队首元素时,有一定的选择性,即根据元素的属性选择某一项值最优的出队优先队列其实就是把堆模板化,将所有入队的元素排成具有单调性的一队,方便我们调用优先级队列是一个拥有权值观念的queue。它允许在底端添加元素、在顶端去除元素、删除元素。缺省情况下,优先级队列利用一个大顶堆完成普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除优先队列中,元素被赋予优先级。原创 2023-09-11 09:36:10 · 73 阅读 · 0 评论 -
数据结构算法刷题笔记——二、2.2 map 与 unordered_map
unordered_map是C++标准库提供的关联容器之一,保存的是键值对(key-value),可以高效的根据单个key值查找对应的valuekey 值应该是唯一的,key和value 的数据类型可以不相同键(key;it->first)-值(value;底层使用的数据结构是哈希表(hash table), 存储元素时是没有顺序的,只是根据key的哈希值,将元素存在指定位置,所以根据key查找单个value时非常高效,平均可以在常数时间内完成。原创 2023-09-10 23:28:42 · 77 阅读 · 1 评论 -
数据结构算法刷题笔记——五、字符串
引入串的目的:计算机上非数值处理的工作越来越多,引入对字符的处理串:由零个或多个字符组成的有限序列,又叫字符串一般记为:s=“a1a2…an”(n>=0)串的名称:s串的值:双引号括起来的字符串的位置:i长度:串中字符数目n有限:指长度n是一个有限的数值空串:另个字符的串,“”序列:串的相邻字符之间具有前驱和后继的关系空格串:只包含空格的串子串:串中任意个数的连续字符组成的子序列,称为该串的子串主串:包含子串的串,成为珠串子串在主串中的位置:子串的第一个字符在主串中的序号。原创 2023-09-10 11:25:10 · 90 阅读 · 1 评论 -
数据结构算法刷题笔记——二、2.1 vector
vector是STL的动态数组,可以在运行中根据需要改变数组的大小。以数组的形式储存,所以它的内存空间是连续的进行vector操作前应添加头文件vector是向量类型,可以容纳许多类型的数据,因此也被称为容器vector是种容器,类似数组一样,但它的size可以动态改变。vector的元素在内存中连续排列,这一点跟数组一样。这意味着我们元素的索引将非常快,而且也可以通过指针的偏移来获取vector中的元素。连续排列也带来了弊端。原创 2023-09-03 21:52:17 · 81 阅读 · 0 评论 -
数据结构算法刷题笔记——四、栈与队列
栈(stack):是限定仅在表尾进行插入和删除操作的线性表栈顶:允许插入和删除的一端栈底:栈顶的另一端空栈:不含任何数据元素的栈LIFO:别名,后进先出(Last InFirst Out)的线性表栈是线性表栈元素具有线性关系(前驱后继关系)表尾——栈顶表头——栈底插入操作:进栈、压栈、入栈删除操作:出栈、弹栈递归函数:直接调用自己或通过一系列的调用语句间接地调用自己的函数每个递归定义必须至少有一个条件,满足时递归不再进行,即不再引用自身而是返回值推出迭代和递归的区别迭代。原创 2023-09-03 14:12:54 · 89 阅读 · 0 评论 -
数据结构算法刷题笔记——三、线性表
线性表:零个或多个数据元素的有限序列记为:是序列,元素之间有顺序直接前驱元素直接后继元素(第一个无前驱,最后一个无后继)位序:第i个数据元素,i为其在线性表中位序是有限的线性表长度:线性表元素个数n,空表:n=0数据元素一个数据元素,可以由若干数据项组成线性表的顺序存储结构:用一段地址连续的存储单元一次存储线性表的数据元素。链式存储结构:n个结点(ai的存储映像)链接成一个链表,即为线性表(a1,a2,…,an)的链式存储结构单链表:每个结点中只包含一个指针域特点。原创 2023-08-28 12:32:42 · 60 阅读 · 1 评论 -
数据结构算法刷题笔记——二、线性结构(2.1线性表)
int Last;List Prtl;原创 2023-08-15 10:30:00 · 74 阅读 · 0 评论