算法与数据结构初尝试
文章平均质量分 71
Gigi Princess
这个作者很懒,什么都没留下…
展开
-
C++数据结构和算法 01
这是跟着视频学总结的笔记,可能会有很多错误,虚心学习中~原创 2022-09-13 00:24:11 · 723 阅读 · 0 评论 -
散列表(哈希表)
目录什么是散列表(哈希表)?为什么叫哈希表呢?遇到冲突怎么办?1、链表式解决2、开放地址2.1线性探测法2.2平方探测法2.3 双哈希哈希表满了怎么办?为什么设计哈希表?什么是散列表(哈希表)?和二叉树、链表这一类一样。它是一种数据结构,设计出来用于存放数据。数组: 指针 指针 指针 指针 指针 下标: 0 1 2 3 ...原创 2021-11-02 20:43:44 · 123 阅读 · 0 评论 -
如何利用分治法解决最大子段和问题
什么是最大子段和问题?在一个数组或者序列当中,有n个数,我们需要找出一段非空的连续区间,使得这个区间内所有元素之和最大。什么是分治法?分治法的基本思想:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。分治策略:对于一个规模为n的问题,若该问题可以容易的解决(比如规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解决这些子问题,然后将各个子问题的解合并得到原问题的解。怎么引入分治法的思想呢?我们想在原创 2021-11-02 17:42:44 · 951 阅读 · 0 评论 -
c++数据结构与算法系列之砝码称重
2、砝码称重问题描述:设有1g、2g、3g、5g、10g、20g的砝码各若干枚(共总重<=1000)求用这些砝码能乘除不同的重量个数【输入文件】1g、2g、3g、5g、10g、20g的砝码个数【输出文件】能称出不同的重量的个数【输入样例】1 1 0 0 0 0【输出样例】3分析:根据输入的砝码信息,每种砝码可用的最大个数是确定的...原创 2021-11-02 19:10:05 · 3024 阅读 · 2 评论 -
C++ 数据结构与算法系列之枚举
目录1、枚举1.1 枚举法的基本思想1.2 枚举结构1.3 使用例子(1)不使用优化枚举 1000000次(2)第一次优化枚举 59976次(3)第二次优化枚举 576次(4)第三次优化枚举 14次1.4 枚举的优缺点1.5 枚举算法的优化1.6、枚举法敲代码技巧1、枚举1.1 枚举法的基本思想枚举法又称穷举法,枚举所有可能状态,并用问题给定的条件来约束状态,检验哪些是需要的,哪些是不需要的。1.2 枚举结构循环 + 判断语句设ai1是状态原创 2021-11-02 10:15:53 · 739 阅读 · 0 评论 -
KMP算法(一)
有两个字符串:str1:"abc123def"str2:"123"此时str2是str1子串,子串内容必须是连续的,如果str2:"123f“,那么此时str2就不是str1子串那么就引出了今天学习的KMP算法,KMP算法就是用来告诉我们str1里面是否有个子串等于str2的如果没有就返回-1,如果有就告诉我们出现的开头位置让我们梳理下逻辑其实就是找str1中有没有完整的str2,所以从第一个位置开始对应直到找到为止那么从第一位置a开始对照,如上图,直到完..原创 2021-09-18 10:41:02 · 118 阅读 · 0 评论 -
算法之选择排序法和冒泡排序法
选择排序法:选择排序法,顾名思义,先选择,再排序。比如说一排十个小朋友,我们要按个头,从小到大排序,那么如何用选择排序法呢?首先牵起第一个小朋友安安的小手,把他从第一个位置拽出来,现在第一个位置空出来了,然后让第一个小朋友跟其余的小朋友比个头,如果安安跟九个小朋友比完他的个头还是最小的,那么就继续让他占第一个位置,如果在比个头中,有一个小朋友的个头比安安小,那么这个小朋友就和安安换位置,确保第一个位置是个子最小的小朋友占的。第一个位置固定后,我们牵起第二个小朋友全全的手,带她出.原创 2021-09-06 10:41:51 · 180 阅读 · 0 评论