当前位置:   article > 正文

01-数据结构和算法入门

01-数据结构和算法入门

数据结构和算法入门

什么是数据结构?

数据结构一般泛指数据的逻辑结构和存储结构,独立于具体编程语言。例如,我们在浏览一个网页时,看到的页面布局结构。拿到一本书时,看到的书的目录结构。打开手机上的地图软件,看到的图结构等等都和我们所说的数据结构有关系。

什么是数据算法?

在编程领域中,可以将程序理解为数据结构+算法。算法就是操作特定结构数据的方法或技巧,具备正确性,可行性,有穷性,输入,输出等特征。例如对数据的查找,排序,运算等都会涉及到具体算法的应用。

数据结构和算法是什么关系?

数据结构和算法是相辅相成的,数据结构服务于算法,算法作用于数据结构。

为什么要学习数据结构和算法?

让“计算”更加的高效和低耗。一般越是注重技术的公司(尤其是大型的科技公司),越会注重考察数据结构与算法这类基础知识。因为相比短期能力,他们更看中你的长期潜力。

学习数据结构和算法可以帮助到我们什么?

学习数据结构和算法可以更加有效的帮我们:

  1. 建立时间复杂度、空间复杂度意识,写出高质量的代码。
  2. 设计更好基础架构,提升编程技能,训练结构化思维的有效手段。

总之:学习数据结构和算法,可以有效帮助我们,在设计“高效,低耗”的软件系统时,起到很大的指导作用。如同具备九阳神功护体,见招拆招,对各种技术进行灵活应用。

如何学习数据结构和算法?

在学习数据结构和算法的过程中,首先要对这个学科有一个整体的认识,比方说数据结构和算法这门课会涉及到哪些知识点,哪些是重点等,还有就是这些知识点的「来历」、「自身的特点」、「适合解决的问题」以及「实际的应用场景」。其次要基于大纲进行刻意的练习,我们要练习缺陷,练习弱点,练习不舒服,不爽,枯燥的地方。最后学会分享,在分享的过程中及时获取反馈和加强。

什么是数据的逻辑结构?

数据的逻辑结构描述的是数据元素之间的逻辑关系,与数据的存储无关,是独立于计算机的一种结构。数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。具体可分为线性结构(栈,队列),非线性结构(集合,树形结构,图结构)。

什么是数据的存储结构?

数据的存储结构是数据元素以及其关系在计算机存储器内的表示,是逻辑结构用计算机语言的实现。例如顺序存储结构(位置相邻)、链状存储结构(指针关联)。

什么是复杂度分析?

复杂度分析几乎占了数据结构和算法这门课的半壁江山,是数据结构和算法学习的精髓,它告诉我们在设计一个系统时,如何度量资源的消耗,运行的效率。它探讨的是一种心法,只有我们学会了分析问题的方式,才能见招拆招,做到无招胜有招。

如何度量程序的复杂度?

那么我们应该如何去度量程序中算法的优劣呢?主要还是从算法所占用的「时间」和「空间」两个维度去考量。

  1. 时间维度:是指执行当前算法所消耗的时间,我们通常用「时间复杂度」来描述。
  2. 空间维度:是指执行当前算法需要占用多少内存空间,我们通常用「空间复杂度」来描述。
    因此,评价一个算法的效率主要是看它的时间复杂度和空间复杂度情况。然而,有的时候时间和空间却又是「鱼和熊掌」,不可兼得的,那么我们就需要从中去取一个平衡点。

总结(Summary)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/910395
推荐阅读
相关标签
  

闽ICP备14008679号