算法笔记入门
文章平均质量分 70
基本对应《算法笔记》的入门篇相关章节
Mic_Mickey
这个作者很懒,什么都没留下…
展开
-
C++标准模板库(STL)知识点
vector,stack,queue,priority_queue;algorithm头文件下的常用函数swap()原创 2021-03-01 17:44:26 · 146 阅读 · 0 评论 -
算法入门之二分(《算法笔记》)
这里写目录标题二分查找——基于有序序列的查找算法EG.1 在严格递增序列中找出给定的数x二分法拓展快速幂二分查找——基于有序序列的查找算法EG.1 在严格递增序列中找出给定的数x#高效之处:每一步都可以去除当前区间中的一半元素。#时间复杂度:O(logn)????搬个代码#include <iostream>#include <algorithm>#include <vector>using namespace std;//A[]为严格递增序列,x为欲原创 2021-03-01 15:13:07 · 444 阅读 · 0 评论 -
算法入门之贪心(《算法笔记》)
简单贪心: [PAT B1020]月饼(25), ????STL之动态数组vector的使用, [PAT B1023]组个最小数(20); 区间贪心: 区间不相交问题, ????类似区间选点问题原创 2021-02-27 20:17:07 · 324 阅读 · 0 评论 -
算法入门之递归(《算法笔记》)
划个重点分治递归全排列(Full Permutation)分治【分治】分而治之(divide and conquer)????分解(子问题)→解决→合并其中,子问题规模小,结构与原问题类似,且各子问题相互独立、没有交叉。????一般用递归的方法实现。递归1.递归的两个重要概念:【递归边界】分解的尽头,用来返回最简单底层的结果(可以直接计算得到)。【递归式】将原问题分解为若干子问题的手段,用来减小问题规模并向下一层递归。2.理解递归的辅助:画递归图????两个例子全排列(Full Pe原创 2021-02-08 16:06:16 · 179 阅读 · 0 评论 -
算法入门之散列(《算法笔记》)
捡个重点先散列字符串hash初步散列【散列】将元素通过一个函数转换成整数,且使该整数可以尽量唯一地代表这个元素。【常用散列函数】(1)直接定址法:恒等变换(把输入的数作地址下标)或线性变换(2)平方取中法(3)除留余数法(除数最好是素数)【冲突】多个元素的哈希值相同????解决冲突:(1)线性探查法(2)平方探查法(3)链地址法(拉链法)字符串hash初步这里只讨论字符串转换成唯一的整数,核心代码是:hash = hash*26 + (str[i]-'A'); //相当于将二原创 2021-02-04 15:53:15 · 329 阅读 · 1 评论 -
算法入门之排序(《算法笔记》)
这里写目录标题冒泡排序选择排序插入排序冒泡排序【冒泡排序】每趟依次两两对比元素,并且每趟会确定最大/小元素的最终位置。#include <iostream>#include <vector>using namespace std;void swap(int &a, int &b);int main(){ int n; cin >> n; vector<int> v(n); //大小为n的数组 for ( int i原创 2021-02-04 11:19:08 · 534 阅读 · 0 评论