-
无敌,击败全网99%的算法学习路线!
- 网站名称:无敌,击败全网99%的算法学习路线!
- 网站分类:技术文章
- 收录时间:2025-06-18 12:15
- 网站地址:
“无敌,击败全网99%的算法学习路线!” 网站介绍
不管是在校招还是社招中,考察算法能力、手写代码能力,这个永远是排在第一位的,必须重视起来,要早早开始学习算法、并且去刷算法。
算法
算法:又被叫为算子,是实现一个问题的方法。
算法五大特点:确定性、正确性、有效性、有穷性、有输出;
衡量算法优劣性方法:时间复杂度 + 空间复杂度;
1、时间复杂度
是问题规模与完成该问题所需要的基础操作步骤数量的函数关系(不是指运行多少时间,一般指的是最差情况下的时间复杂度)
例:数组 array 长度为 count,在其中查找值为 key 元素的下标。
1#define NOT_FOUND -1
2
3int findKey(int *array, int count, int key) {
4 int index = 0;
5
6 while(index < count && array[index] != key) {
7 index++;
8 }
9
10 return index >= count ? NOT_FOUND : index;
11}
核心分析:
上面这个例子查找算法的基础操作是:array[index] != key。
总比较次数:1 + 2 + 3 + ... + n = (1+n)/2
总查找次数:n
那么,每一次查找所比较的次数是:
((1 + n) * n / 2) / n = (1 + n) / 2
n 表示数据规模,那么这个查询算法的时间复杂度是 O((1 + n) / 2);当 n 趋于无穷大时,那么:O((1 + n) / 2) <==> O(n),等价关系,即该查找算法时间复杂度为 O(n)。
一定要明确时间复杂度的计算方式,以及自己会评估算法的时间复杂度,是算法基础功,这个知识点在面试中必问,一定要掌握(常见面试问题:二分查找)。
2、空间复杂度
任务规模与实现该任务所需要的辅助存储空间大小之间的函数关系;
例:数组 array 长度为 count,实现该数组的逆序。
1void reverseArray(int *array, int count) {
2 int i;
3 int *tmp;
4
5 tmp = (int *)malloc(sizeof(int), count);
6 for (i = count-1; i >= 0; i--) {
7 tmp[i-count+1] = array[i];
8 }
9 for (i = 0; i < count; i++) {
10 array[i] = tmp[i];
11 }
12
13 free(tmp);
14}
核心分析:
上面这个例子逆转数组的基础操作是:
tmp = (int *)malloc(sizeof(int), count);
申请了跟原先数组一样大的辅助空间,即空间复杂度为:O(n);串行遍历了数组 2 次,这个时间复杂度为:O(2n);
算法学习路线
1、算法学习大纲
2、算法学习视频
3、算法学习书籍
4、算法刷题平台
5、算法代码笔记
- 个人github整理此pdf:
- https://github.com/puge-up/computer-basics
6、视频 + pdf 资料
学习路线、视频、书籍、代码笔记,我都已经推荐过了,对于小白的话,建议先看看视频,理解理解,多听听别人思路,看看是怎么解题的,初步阶段,一定要选择简单的、自己能很快理解的去学习,由浅入深,慢慢的给自己信心。
算法的学习,别人帮不了你多少,主要还是的靠自己悟,靠自己花时间去理解,师傅领进门,修行在个人,算法讨论,思路分享,去leetcode、牛客网看看,各路大神,各种解决思路,你一定会有进步的。
更多相关网站
- 算法流程图怎么画?学学这几个制作步骤
- 太牛了!腾讯T9耗时69天整理出最全架构师进阶核心知识点笔记
- 独家揭秘特斯拉“刹车失灵”数据:多方认为数据缺失,无电机扭矩
- 元图CAD:一键解锁PDF转CAD,OCR技术赋能高效转换
- 冲进字节跳动,最高频的十道算法题
- 太厉害了!腾讯T4大牛把《数据结构与算法》讲透了,带源码笔记
- 西电计算机系90后博士:5年攻克一个难题,发表论文助力癌症治疗
- Github惊现神作,这份算法宝典让你横扫各大厂算法面试题
- 绝密预测满天飞,名师AI齐上阵? 别把“押题”当成备考“神器”
- 国产老牌 PDF 工具“PDF 补丁丁”宣布开源,代码已托管至 GitHub
- 谷歌大佬的《LeetCode 101》算法题解PDF下载—— C++版本
- 字节跳动《算法中文手册》火了,完整版 PDF 开放下载!
- 《算法图解》一本很有趣的算法入门书籍(附下载)!
- 最近发表
- 标签列表
-
- serv-u 破解版 (6)
- 极域电子教室2009 (6)
- 6300主题下载 (1)
- c++论坛 (14)
- huaweiupdateextractor (4)
- thinkphp6下载 (7)
- 前端论坛 (11)
- mysql 时间索引 (13)
- mydisktest_v298 (35)
- sql 日期比较 (33)
- document.appendchild (35)
- 头像打包下载 (35)
- 二调符号库 (23)
- oppoa5专用解锁工具包 (8)
- acmecadconverter_8.52绿色版 (25)
- oracle timestamp比较大小 (7)
- chm editor破解版 (7)
- throttlestop防止降频 (9)
- f12019破解 (16)
- 流星蝴蝶剑修改器 (18)
- pygame中文手册 (2)
- 联想杜比音效驱动下载 (10)
- np++ (17)
- 算法第四版pdf (14)
- 梦幻诛仙表情包 (36)