赞
踩
数据结构一般泛指数据的逻辑结构和存储结构,独立于具体编程语言。例如,我们在浏览一个网页时,看到的页面布局结构。拿到一本书时,看到的书的目录结构。打开手机上的地图软件,看到的图结构等等都和我们所说的数据结构有关系。
在编程领域中,可以将程序理解为数据结构+算法。算法就是操作特定结构数据的方法或技巧,具备正确性,可行性,有穷性,输入,输出等特征。例如对数据的查找,排序,运算等都会涉及到具体算法的应用。
数据结构和算法是相辅相成的,数据结构服务于算法,算法作用于数据结构。
让“计算”更加的高效和低耗。一般越是注重技术的公司(尤其是大型的科技公司),越会注重考察数据结构与算法这类基础知识。因为相比短期能力,他们更看中你的长期潜力。
学习数据结构和算法可以更加有效的帮我们:
总之:学习数据结构和算法,可以有效帮助我们,在设计“高效,低耗”的软件系统时,起到很大的指导作用。如同具备九阳神功护体,见招拆招,对各种技术进行灵活应用。
在学习数据结构和算法的过程中,首先要对这个学科有一个整体的认识,比方说数据结构和算法这门课会涉及到哪些知识点,哪些是重点等,还有就是这些知识点的「来历」、「自身的特点」、「适合解决的问题」以及「实际的应用场景」。其次要基于大纲进行刻意的练习,我们要练习缺陷,练习弱点,练习不舒服,不爽,枯燥的地方。最后学会分享,在分享的过程中及时获取反馈和加强。
数据的逻辑结构描述的是数据元素之间的逻辑关系,与数据的存储无关,是独立于计算机的一种结构。数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。具体可分为线性结构(栈,队列),非线性结构(集合,树形结构,图结构)。
数据的存储结构是数据元素以及其关系在计算机存储器内的表示,是逻辑结构用计算机语言的实现。例如顺序存储结构(位置相邻)、链状存储结构(指针关联)。
复杂度分析几乎占了数据结构和算法这门课的半壁江山,是数据结构和算法学习的精髓,它告诉我们在设计一个系统时,如何度量资源的消耗,运行的效率。它探讨的是一种心法,只有我们学会了分析问题的方式,才能见招拆招,做到无招胜有招。
那么我们应该如何去度量程序中算法的优劣呢?主要还是从算法所占用的「时间」和「空间」两个维度去考量。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。