数据结构与算法学习笔记
能跑能跳
背上包袱,重新出发,希望能走得很远!
展开
-
数据结构与算法学习之数组
当计算机需要随机访问数组中的某个元素的时候,它通过寻址公式(address=first_address+i*data_tyep_size,address:需要访问的元素的内存地址,first_address:数组内存单元的首地址,data_tyep_size:每个数组元素的大小,i数组下标)就可以计算出对应元素所在地址,根据地址就读取到了元素。数组的插入操作最坏时间复杂度为O(1),最坏时间复杂度为O(n),平均时间复杂度为O(n);数组根据下标随机访问元素的时间复杂度为O(1);原创 2022-09-19 21:39:39 · 122 阅读 · 1 评论 -
复杂度分析只最好、最坏、平均及均摊时间复杂度
大多数情况下,按照使用大O时间复杂度表示法可以直接估算得到的算法时间复杂度,但是对某些特殊的算法,存在不同特殊情况,在不同情况下算法的复杂度就不一样, 所以牛B前人引入了最好、最坏以及平均时间复杂度原创 2022-09-17 21:25:57 · 220 阅读 · 0 评论 -
算法与数据结构的复杂度分析方法-时间、空间复杂度分析方法
那么我们怎么用肉眼来估算一段的代码的执行时间呢,充满智慧的前人给了我们一个很好办法,我们虽然不知道cpu执行一句代码需要花费的具体时间,但是可以知道的是cpu执行一句代码的时间是有限且短暂的,那么我们可以假设cpu执行每一句代码的时间都是固定的一个单位时间unit_time,通过对执行代码的数量进行统计就能大概估算出算法的执行时间,就能进行粗略的评估了。大O时间复杂度其实并不具体表示代码的执行时间,只是表示代码执行时间随代码规模增长的变化趋势,所以也叫做渐进时间复杂度,简称时间复杂度。原创 2022-09-14 21:21:03 · 409 阅读 · 0 评论 -
准备开始学习数据结构与算法,在此立下flag
之后再学习常用的10个数据结构和10个算法:数组、链表、栈、堆、队列、散列表、二叉树、跳表、图、trie树和递归、排序、哈希算法、二分查找法、贪心算法、搜索算法、分治算法、回溯算法、动态规划、字符串匹配算法。1、数据结构与算法是两个相互依存的概念,数据结构是数据存储的结构,算法是使用数据存储机构的一组方法,数据结构是为算法服务的,算法需要作用到特定的数据结构上。年龄大了,感觉脑子不怎么好使了,准备学习一下数据结构与算法,让自己的脑子重新转起来,在此立下flag,每周不少于4篇学习笔记,少了我就变秃头!原创 2022-09-13 21:17:37 · 190 阅读 · 0 评论