数据结构与算法:闲谈

本人非科班出身,本科学了C语言、数据结构与算法,当时只是为了应付计算机二级考试,也没怎么用心学。随着工作的深入,个人觉得数据结构与算法还是需要深入学习一下。先看《大话数据结构》,等有时间了再看下《算法》与《算法导论》了。

数据结构

数据结构是相互之间存在一种或多种特定关系的数据元素的集合。数据元素是组成数据的,具有一定意义的基本单位,比如人类社会中人就是数据元素,那么头部、手部、脚部等则是构成数据元素的数据项

数据可以分为逻辑结构和物理结构。

《数据结构与算法:闲谈》

集合结构是指数据元素只是同处于同一集合中,彼此之间并没有什么关系。

线性结构是指数据元素之间具有一对一的关系。

树形结构是指数据元素之间具有一对多的关系。

图形结构是指数据元素之间具有多对多的关系。

顺序存储结构是指数据元素存放在地址连续的存储单元中。

链式储存结构是指数据元素存在任意的存储单元中(不一定连续),通过指针可以找到具体的存储单元。

算法

算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有序序列,并且每条指令表示一个或多个操作。

算法的五个基本特征:输入、输出、有穷性、确定性和可行性。

算法的时间复杂度T(n)=O(f(n))。它表示随时间规模n的增大,算法执行时间的增长率和f(n)的增长率相同,其中f(n)为时间规模n的某个函数。推导大O阶如果有n,则用只保留n的最高阶项;否则常数项直接取1。

《数据结构与算法:闲谈》

    原文作者:山代
    原文地址: https://www.jianshu.com/p/55630137f0f2
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞