- 博客(4)
- 收藏
- 关注
转载 数据结构与算法入门笔记 --- 05数组:为什么很多编程语言中数组都从0开始编号?
在大部分编程语言中,数组都是从0开始编号的,但你是否下意识地想过,为什么数组要从0开始编号,而不是从1开始呢?从1开始不是更符合人类的思维习惯吗?数组支持随机访问,根据下标随机访问的时间复杂度为O(1)如何实现随机访问?数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。首先是线性表(Linear List)。就是数据排成一条线...
2020-03-19 22:35:18 249
原创 数据结构与算法笔记(入门篇)--- 03复杂度分析(下):浅析最好、最坏、平均、均摊时间复杂度
同一段代码,在不同输入的情况下,复杂度量级有可能是不一样的。最好情况时间复杂度就是,在最理想的情况下,执行这段代码的时间复杂度。最坏情况时间复杂度就是,在最糟糕的情况下,执行这段代码的时间复杂度。平均时间复杂度是所有情况中最有意义的,因为它是期望的运行时间,所以平均时间复杂度的全程应该为加权平均时间复杂度或者期望时间复杂度。均摊时间复杂度与摊还分析法:对一个数据结构...
2020-03-17 13:28:06 355
原创 数据结构与算法笔记(入门篇)--- 02复杂度分析(上):如何分析、统计算法的执行效率和资源消耗
写在前面:算法代码执行效率与存储空间需求 —— 时间、空间复杂度分析算法的定义:算法是解决特定问题求解步骤的描述,在计算机中为指令的有限序列,并且每条指令表示一个或多个操作。算法的特性:有穷性、确定性、可行性、输入、输出。算法的设计的要求:正确性、可读性、健壮性、高效率和低存储量需求。为什么需要复杂度分析?复杂度分析是整个算法学习的精髓,只要掌握了它,数据结构和算法的...
2020-03-17 11:40:03 304
原创 数据结构与算法学习笔记(入门篇)--- 01如何抓住重点,系统高效地学习数据结构与算法?
2020/3/17数据结构指的是“一组数据的存储结构”,算法指的是“操作数据的一组方法”。数据结构是为算法服务的,算法是要作用再特定的数据结构上的。学什么:1.效率和资源消耗的度量衡--复杂度分析。2.最常用、最基础的20个数据结构与算法,学习他们的:“来历”、“特点”、“适合解决什么问题”和“实际的应用场景”。数据结构:数组、链表、栈、队列、散列表、二叉树...
2020-03-17 11:37:32 211
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人