https://www.bilibili.com/video/BV1nE411x7qP
第一次接触这个东西. 感觉好难计算..
前面的那些 O(1), O(n), O(n²)还可以理解, 从 8 分 40 秒那个例子开始,后面的就听不懂了.
为啥突然就有分数了.  那个 log 又是啥.. 然后去找了找其他视频, 基本上就是讲解题, 没有那种"新手教程"的视频.    
有偿求教, 绿色软件:bXJ6aHNzc3M=
救救孩子, 不然真的会挂科🙏🙏🙏
|  |      1huyoa      2023-08-03 09:46:07 +08:00 对数函数,不是高中数学学的吗。。。 | 
|  |      2stillsilly      2023-08-03 09:46:12 +08:00  2 | 
|  |      3huyoa      2023-08-03 09:46:30 +08:00 高中数学必修一 | 
|  |      4christin      2023-08-03 09:49:18 +08:00 via iPhone 大概看了一眼,讲得挺清楚的啊 | 
|      5antonius      2023-08-03 09:50:00 +08:00 数学的内容自己查资料复习一下好了,能上 V2EX 肯定能用 google 。 建议看看《漫画算法》《算法图解》之类的书,深入浅出。 多找身边的同学交流交流。 | 
|  |      6loryyang      2023-08-03 09:51:27 +08:00 这个东西如果你觉得难,就两个可能: 1. 你数学基础不行,赶紧会去补一下 2. 你不适合这一行…… | 
|  |      7itskingname      2023-08-03 09:57:10 +08:00  1 楼主就是九漏鱼,对数应该是九年义务教育就会讲的东西。说明楼主数学不行。 虽然数学与编程不是强因果关系,但楼主应该不适合这一行。 | 
|      828Sv0ngQfIE7Yloe      2023-08-03 09:59:18 +08:00 @itskingname  别说的那么绝对,能发贴求助应该还有救 哈哈 | 
|      10suzhenyu      2023-08-03 10:11:51 +08:00 觉得难正常,计算时间复杂度时涉及到对数的部分就很难。 先放下这部分你觉得难的,继续往下学。以后想起来再回来看就是了。 就算学不会也无所谓的,工作中涉及到需要计算时间复杂度的地方本身就不多,而且大部分是 O(1), O(n), O(n²) 这样的。 | 
|      11456789      2023-08-03 10:14:18 +08:00 有几个符号记下来啥意思就行了吧  不计符号是挺难的,去 b 站国际版搜搜漂亮国的大学的算法课 | 
|  |      121bo      2023-08-03 10:14:22 +08:00 | 
|      13fredweili      2023-08-03 10:27:41 +08:00 我是看 MIT 算法导论课搞懂的 | 
|  |      15chevalier      2023-08-03 10:33:25 +08:00 不懂 log 是啥,说明高中数学没学好 网上先找个科普视频,看下对数的概念吧 | 
|  |      16tony1016      2023-08-03 10:34:36 +08:00 正好在随手翻《算法图解》,其实挺好理解的,你可以看看 | 
|  |      17y1y1      2023-08-03 10:42:45 +08:00 via iPhone 挂科?现在是八月,难道是开学要补考 | 
|  |      19smallboy19991231      2023-08-03 10:53:51 +08:00 via Android [Q0-01]我想学习数据结构,请问一下这门课程有哪些知识储备\先修要求?对编程能力作何要求? https://dsa.cs.tsinghua.edu.cn/~deng/ds/mooc/ [A0-01]? 虽然我们常说这门课对于数学基础和编程基础有一定的要求,但这并不意味着你需要精通所有相关课程。实际上,你只需掌握若干重要的数学概念及方法,以及 C/C++语言编程的基本技巧。为确认自己是否适宜选修这门课程,不妨对照以下清单做一清点: C++语言程序设计基础: 类 class 、继承 inherit 、重载 overload 、重写 override 、虚函数 virtual function 、模板 template 离散数学基础: 集合、偏序集、良序、数学归纳法、级数、递归、递推 概率基础: 随机分布、概率、伯努利实验、数学期望、期望值的线性律 因而对于 C\C++的编程基础,我们还是有一定的要求:事实上在数据结构中也只是会用到部分的特性(比如 C++里的类模板)。主要是能够使用就行了,只要学一些过基本的内容问题应该不大。 | 
|  |      20smallboy19991231      2023-08-03 10:54:44 +08:00 via Android  1 @smallboy19991231 数据结构 C++只要细看理解就是好书,数学的相关概念可以去对应条目了解下就行了 | 
|  |      21morgan1freeman      2023-08-03 11:40:52 +08:00  1 时间复杂度 本质上就是 计算时间随着计算规模增长函数的 导数罢了 导数描述的是函数的 变化趋势,O(1) 表明 计算时间增长函数 不会增长,无论计算规模有多少,始终是常数时间 O(N) 表示 增长函数为 一条斜线,计算规模增长 计算时间同步增长 掌握求导后,其实 大 O 只是对 计算规模增长函数的求导罢了 | 
|  |      22weidaizi      2023-08-03 12:16:11 +08:00  1 《数据结构与算法分析-C 语言描述》读书的时候是看这本,感觉挺简单易懂的 | 
|  |      24Mrzhs OP @morgan1freeman 所以, 用白话来讲, 就是计算一堆循环里 嵌套最多的那个循环的时间 | 
|  |      25lilei2023      2023-08-03 13:57:36 +08:00 不懂 log ,就得看看高中数学了,貌似我现在也忘记了,哈哈,回头补补数学 | 
|  |      26Vinceeeent      2023-08-03 14:00:48 +08:00 via Android 普通函数的时间复杂度还是好计算的,递归函数计算起来复杂一下但也有公式。 | 
|      27LaTero      2023-08-03 14:09:22 +08:00 via Android 这个东西要算清楚,要会极限。大 O 是同阶无穷大(或无穷小,不过时间复杂度肯定是大),定义是 g(x)=O(f(x)) := g(x)/f(x)最终趋于常数。“最终”的意思是 x 足够大,防止 f(x)=0 。想学清楚的话找本微积分教材,极限一般在第一章。 | 
|      28llwwbb7      2023-08-03 19:59:17 +08:00 基本上就是看循环次数吧,大于常数次小于 n 次基本上就是 logn | 
|  |      29jerrywcy      2023-08-03 23:25:01 +08:00 @Mrzhs #24 我没有学过系统的,以下是个人理解 无脑版:算出你的程序需要计算的次数和 n 的关系式,找出增长最快的去掉系数留下,删掉剩下的。 详细一点:当 n 趋于无穷大时,运行消耗时间和一个 n 的函数之比为常数,复杂度就是这个函数。为了简便我们去掉所有系数。类似于高阶无穷小的概念 | 
|  |      30cryptogems      2023-08-04 17:34:03 +08:00 看了下,我也是刚学完算法,感觉楼上的回答要么就是已经工作了,要么就是已经过了这个坎入门了,这个应该是算法设计与分析第一章的东西,你看不懂的这一块其实就是用三种方法做:1.等差数列 2.等比数列 3.数学归纳法(都是中学数学内容),包括后面的地推算法的时间复杂度也是一样的思路,这块不用慌,属于是找些例题做一做就会了,而且考试基本不考,因为内容太多,后面分治,变治,动态规划更重要(而且不是一个分析思路),这里做几道题,会了就行了,不要在意(最起码我们学校是这样的) | 
|  |      31cryptogems      2023-08-04 17:35:34 +08:00 @cryptogems PS 楼上说的思路其实看看就行了,他们大概率工作了不 care 这些,这个是有一套严谨的极限理论推出来的 |