计算机基础
文章平均质量分 67
暴走的小程序猿
这个作者很懒,什么都没留下…
展开
-
数据结构与算法之基础篇——05 | 数组
概念 数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。线性表 线性表就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向 比如数组,链表、队列、栈等非线性表 数据之间并不是简单的前后关系 比如二叉树、堆、图等数组如何实现随机访问? 连续的内存空间和相同类型的数据 好处:支持随机访问,根据下标随机访问的时间复...原创 2022-01-23 17:12:57 · 400 阅读 · 0 评论 -
数据结构与算法之入门篇——04 | 最好、最坏、平均、均摊时间复杂度
目录最好情况时间复杂度最坏情况时间复杂度平均情况时间复杂度均摊时间复杂度大部分情况下,我们并不需要区分最好、最坏、平均三种复杂度。平均复杂度只在某些特殊情况下才会用到。而均摊时间复杂度应用的场景比它更加特殊、更加有限。// n 表示数组 array 的长度int find(int[] array, int n, int x) { int i = 0; int pos = -1; for (; i < n; ++i) { if (array[i] == x原创 2022-01-23 10:46:03 · 531 阅读 · 0 评论 -
数据结构与算法之入门篇——03 | 复杂度分析
# 为什么需要复杂度分析? - 执行效率是算法一个非常重要的考量指标 - 数据结构和算法本身解决的是“快”和“省”的问题,即如何让代码运行得更快,如何让代码更省存储空间 - 事后统计法有非常大的局限性 - 测试结果非常依赖测试环境 例如,硬件环境不同,处理器不同 - 测试结果受数据规模的影响很大 - 我们需要不用具体的测试数据来测...原创 2022-01-23 10:14:52 · 438 阅读 · 0 评论 -
数据结构与算法之入门篇——02 | 如何抓住重点,系统高效地学习数据结构与算法?
理解概念数据结构是指一组数据的存储结构;算法是操作数据的一组方法。举例:图书馆的书籍存放和查找数据结构是为算法服务的,算法要作用在特定的数据结构抓重点后面的附图中几乎涵盖了所有数据结构和算法书籍中都会讲到的知识点,但并不需要全部掌握,要重点掌握下面的内容复杂度分析10个常用数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树10个常用算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法学习..原创 2022-01-22 21:14:46 · 244 阅读 · 0 评论 -
数据结构与算法之入门篇——01 | 为什么要学习数据结构和算法?
01 | 为什么要学习数据结构和算法?作为计算机基础知识、核心知识,职业发展必备 建立时间复杂度、空间复杂度意识,写出高质量的代码有助于阅读框架源码,理解其背后的设计思想。在基础框架中,一般都揉和了基础数据结构和算法的设计思想开发出性能更优的软件系统。一个系统面对的用户越多,就越需要考虑性能问题 看待问题的深度,解决问题的角度就会完全不一样示例:LinkedeList和ArrayList的区别1、数据结构不同ArrayList是Array(动态数组)的数据结构,LinkedList是Li原创 2022-01-22 21:02:17 · 127 阅读 · 0 评论