2 月 9 日算法练习- 数据结构 - 除夕快乐♪٩(´ω`)و♪

翻转括号序列 暴力过20%数据 思路:括号合法序列问题可以利用前缀和,将"(“看成 1,”)"看成 0,规律是到某个位置为止的前缀和>0并且到最后前缀和=0。 #include<bits/stdc++.h>using namespace std;const int N = 1e6+10;int n,m;string s;int a[N]; int main( ){ cin>>n>>m>>s; ...

数据结构与算法】【小白也能学的数据结构与算法】迭代算法专题

通过迭代计算dp[i] = dp[i - 1] + dp[i - 2],直到计算到第n个斐波那契数dp[n]。 通过这种方式,我们避免了重复计算,提高了算法效率。 3. 迭代算法的应用 迭代算法在各种数据结构和算法中都有广泛的应用。以下是一些常见的迭代算法应用: 链表和数组的遍历:通过迭代,我们可以逐个访问链表或数组中的元素。 图的遍历:通过迭代,我们可以访问图中的所有节点和边。 排序算法:许多排序算法,...

邓俊辉数据结构第一章:绪论笔记(未完待续)

   第一章:绪论          计算机科学的学习重心是:具体地深入思考与分析获得对问题本质的透彻理解,按照长期积淀的框架与模式设计出符合问题内在规律的算法。选用、定制、改进足以支撑算法高效实现的数据结构,并在真实的应用环境中充分测试、调校和改进,构成了计算机高效求解实际问题的典型流程和不二法门。每一位有志于驾驭计算机的学生都应该从这些问题入手,不断学习、反复练习和勤于总结。 1.1 计算机与算法  ...

数据结构与算法-初学者指南】【附带力扣原题】队列

  队列:基本原理及操作 在计算机科学中,队列是一种常见的数据结构,它可以用于多种场景,例如任务调度、事件处理等。本篇博客将介绍队列的基本原理和常见操作,并探讨如何使用数组模拟队列的操作以及该方法的优缺点及性能影响。最后,我们将针对基于数组的队列算法题目提供解题思路和优化方法的讨论。 队列的基本概念和特点 队列是一种先进先出(First In First Out, FIFO)的数据结构。它类似于现实中的...

2 月 7 日算法练习- 数据结构-并查集

并查集 并查集是一种图形数据结构,用于存储图中结点的连通关系。 每个结点有一个父亲,可以理解为“一只伸出去的手”,会指向另外一个点,初始时指向自己。 一个点的根节点是该点的父亲的父亲的的父亲,直到某个点的父亲是自己 根 当两个点的根相同时,我们就说他们是属于同一类,或者说是连通的。 如下:7、5、1、3、6的根都是3,所以他们是连通的,2、4是连通的,而2、6不连通,因为他们的根不 同 找根 找根的方法...

跳表详解和实现|深挖Redis底层数据结构

这边博客,会带着大家实现跳表。我是按照stl容器的格式和风格来进行设计的,实现的是一个类模版,支持迭代器遍历等stl风格的功能,支持跳表的增删查功能。 这里分享我的一些博客专栏,都是干货满满的。 手撕数据结构专栏高质量博客专栏 项目代码仓库 CPlusPlus-review-main/tree/master/skip_list 认识跳表 ​ 增加了向前指针的链表叫作跳表。跳表全称叫做跳跃表,简称跳表。跳表...

数据结构与算法之美学习笔记:51 | 并行算法:如何利用并行处理提高算法的执行效率?

数据的读取和写入。如何减少磁盘的 IO 操作,减少磁盘数据读取和写入的总量,就变成了优化的重点。不过这个不是我们这节要讨论的重点,你可以自己思考下。 并行查找 我们知道,散列表是一种非常适合快速查找的数据结构。 如果我们是给动态数据构建索引,在数据不断加入的时候,散列表的装载因子就会越来越大。为了保证散列表性能不下降,我们就需要对散列表进行动态扩容。对如此大的散列表进行动态扩容,一方面比较耗时,另一方面比...

数据结构_回文,相交题-2.4

做题后觉得,这些算法都不算编程语言层面东西了,这和数学更为接近,我讨厌数学!虽然由思路转为代码是代码能力没错,但更关键的思路还是偏向数学层面的求解。 一. 判断是否为回文单链表 从首结点看和从末尾结点看整个链表是一样的就是回文。 a. 想到的思路:把值放数组里比呗 1)快慢指针定位中点; 2)从中点向后取值放入一个数组中; 3)反向比较数组与慢指针继续走的值; 4)一样就是回文链表,不一样就不是。 遇到...

数据结构_单链表题-2.1

一. 反转单链表 将一个单链表反过来。 个人思路(一团浆糊大错特错) 反转嘛,变最后为起点,依次反转过来就行了。 1)找到最后三个链表结点,分别保存下来,以最后一个为首地址。 2)最后一个链表结点指向倒数第二个链表(倒数第三个的next赋值给最后一个的next) 3)这样每隔一个链表结点依次反转。 问题 1)你要先遍历一遍才能找到最后一个链表 2)单链表,你怎么可能回溯找上流的链表 参考思路:三指针迭代...

C++数据结构与算法——哈希表

文章目录 一、有效的字母异位词(力扣242)二、两个数组的交集(力扣349)三、快乐数(力扣202)四、两数之和(力扣1)五、四数相加 II(力扣454)六、赎金信(力扣383)七、三数之和(力扣15)八、四数之和(力扣18) 一、有效的字母异位词(力扣242) class Solution {public: bool isAnagram(string s, string t) { // 创建哈希数组...
© 2024 LMLPHP 关于我们 联系我们 友情链接 耗时0.005819(s)
2024-04-20 10:23:51 1713579831