首页 > 编程知识 正文

labuladong的算法小抄百度云,算法的五个特性

时间:2023-05-06 01:23:19 阅读:23036 作者:1216

无论是在进行机器学习、深度学习、自然语言处理还是其他领域,算法的重要性都不言而喻,吃透算法的基础原理,掌握算法的数学推导和代码实现,对增强硬核实力非常重要! 今天我向大家推荐非常厉害的开源算法笔记本! 中文版! 而且在GitHub上已经赢得了近1k的赞!

首先,放置笔记的GitHub地址:

3359 github.com/dairongpeng/algorithm-note

简介

这个开源项目的主要内容是数组、链表、树、地图、递归、DP、顺序表等相关数据结构和算法的讲解和代码实现。 作者是“左神”,通过算法课堂笔记的记录,整理尽可能恢复在线课堂的笔记,读者可以方便地作为工具书查阅,包括代码的实现。

目录

这个项目总共包含24个部分,每个部分都提供了笔记和代码实现。

作者还提供了GitHub Page的浏览页面,增强了友好的互动性:

3359 dairongpeng.github.io/algorithm-note /

例如,让我们看看第1部分的内容。

第一节介绍时间复杂度、空间复杂度、排序、异或运算。 主要内容有时间复杂度、空间复杂度、常数项时间复杂度、算法最优解、一般时间复杂度、算法和数据结构上下文、对数器识别、二分法识别、异或运算识别。

作者对所有知识点都有简明扼要的概括和总结。

此外,排序算法还有相应的示例代码,如最常见的气泡排序。

包类01; import java.util.Arrays; public classcode 02 _ bubble sort { publicstaticvoidbubblesort (int [ ] arr ) if(arr==null|||arr.length2) { return e 0; (e---- ) )/0 ) efor ) intI=0; i e; I () if ) arr[I]arr[i 1] ) swap ) arr,I,I1 ); }//更换位于arr的I和j位置的值publicstaticvoidswap(int[]arr,int i,int j ) ({ arr[i]=arr[i] ^ arr[j] ); arr[j]=arr[i] ^ arr[j]; arr[i]=arr[i] ^ arr[j]; //fortestpublicstaticvoidcomparator (int [ ] arr ) ) Arrays.sort ) arr; //fortestpublicstaticint [ ] generaterandomarray (int maxsize 1,intmaxvalue(int ) (arr=newint ) ) (maxSize 1) ) mon i arr.length; I () arr[I]=(int ) ) maxValue 1) * math.random ((int ) ) (maxValue * Math.random ) ); }返回arr; //fortestpublicstaticint [ ]复制阵列(int [ ] arr ) if (arr==null ) ) { return null; } int[] res=new int[arr.length]; for(intI=0; i arr.length; I({RES[I]=arr[I]; }返回RES; //fortestpublicstaticbooleanisequal (int [ ] arr 1,int[] arr2) ) (arr1==nullarr2!=null(|(ARR1!=空值arr2==空值) { return false; }if(arr1==nullarr2==null ) { return true; (if ) arr1.length!=arr2.length({returnfalse; }for(intI=0; i arr1.length; I ) if(arr1[I]!=arr2[ I ] (返回假; } }返回真; //fortestpublicstaticvoidprintarray (int [ ] arr ) if ) arr==null ) ) { return; }for(intI=0; i arr.length; I ) system.out.print(arr[I] ' ); } System.out.println (; //fortestpublicstaticvoidmain (字符串[ ] args ) ) { int testTime=500000; int maxSize=100; int maxValue=100; 布尔succeed=true; for(intI=0; I测试时间; I ) int [ ] arr1=通用随机存储器(最大化,最大值); int [ ] arr2=复制阵列(arr1); bubblesort(arr1; 比较器(arr 2; if (! sequal(arr1,arr2) { succeed=false; 布雷克; }system.out.println(succeed?' Nice! ' : 'Fucking fucked! ' ); int [ ] arr=通用随机存储器(最大化,最大值); 打印机(arr; bubblesort(arr ); 打印机(arr; }整体阅读体验很好!

我希望这个《algorithm-note》算法笔记本中文版对你有帮助! 最后,放置此开源项目的GitHub地址:

3359 github.com/dairongpeng/algorithm-note

推荐阅读

(点击标题可以跳转阅读。)

干货|公众号历史文章精选

我的深度学习入门课程

我的机器学习入门路线图

重磅

AI有道年度技术文章电子版PDF来了!

扫描下方二维码,添加AI有道小助手微信,申请入组,可收集2020完整技术文章获得PDF (请务必备注:入群+ 地点 + 学校/公司,如http://www.sinn.com)

入群+上海+复旦

(追加人数很多,请耐心等待)

3358 www.Sina.com/http://www.Sina.com/http://www.Sina.com /

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。