美文网首页
数据结构与算法基础(一)2020_0331

数据结构与算法基础(一)2020_0331

作者: 卡布奇诺_95d2 | 来源:发表于2020-04-01 09:02 被阅读0次

程序设计 = 数据结构 + 算法。

数据结构定义:

数据结构:相互之间存在一种或多种特定关系的数据元素的集合。

数据:描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号的集合。例如:整型、实型等数值类型,还包括声音、字符、图像、视频等非数值类型。

总结:数据就是一种符号,这些符号必备两个前提,1:可以输入到计算机中;2:能够被计算机处理。

数据元素:是组成数据、有一定意义的基本单位,在计算机中通常做为整体处理,也被叫做记录。

数据项:一个数据可以由若干个数据项组成。数据项是数据不可分割的最小单位。

数据结构可根据不同角度分为逻辑结构和物理结构

逻辑结构(针对问题),分为以下4种:

1、集合结构:

特点:各数据元素“平等”;

2、线性结构:

特点:数据元素之间的关系是一对一。

3、树型结构:

特点:数据元素之间的关系是一对多;

4、图形结构:

特点:数据元素之间的关系是多对多;

物理结构(针对内存)

顺序存储

链式存储

算法:

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

算法的基本特性:

1、输入

2、输出

3、有穷性

4、确定性

5、可行性

算法的其它特性:

可读性

健壮性

判断算法的优劣可通过算法时间复杂度和算法空间复杂度来衡量。

算法时间复杂度

算法时间复杂度的大O表示法:

1、用常数1取代运行时间中的所有加法常数。3->1 O(1)

2、在修改后的运行次数函数中,只保留最高阶。n^3+2n^2+5 -> O(n^3)

3、如果最高阶项存在且不是1,则去除与这个项相乘的常数。2n^3 -> O(n^3)

时间复杂度术语:

 1. 常数阶

 2. 线性阶

 3. 对数阶

 4. 平方阶

 5. 立方阶

 6. nlog阶

 7. 指数阶(不考虑) O(2^n)或者O(n!) 除非是非常小的n,否则会造成噩梦般的时间消耗. 这是一种不切实际的算法时间复杂度. 一般不考虑!

常用的算法时间复杂度所耗费时间从小到大的排列依次是:

算法空间复杂度

定义:通过计算算法所需的存储空间实现。一般情况下,一个程序在机器上执行时,除了需要存储程序本身的指令、常数、变量、输入数据之外,还需要存储对数据操作的存储单元,即这个就是算法空间复杂度。也采用大O表示法。

通常,算法时间复杂度指运行时间的需求。空间复杂度指存储空间的需求。

相关文章

  • 数据结构与算法基础(一)2020_0331

    程序设计 = 数据结构 + 算法。 数据结构定义: 数据结构:相互之间存在一种或多种特定关系的数据元素的集合。 数...

  • 数据结构与算法基础(二)2020_0331

    线性表 定义:线性表表示零个或多个数据元素的有限序列。 线性表的特点: 存在唯⼀的一个被称作”第一个”的数据元素;...

  • 如何学习数据结构与算法

    算法学习经验 推荐: 入门: 数据结构启蒙:《数据结构与算法分析——C 语言描述》 算法启蒙:《算法设计与分析基础...

  • 数据结构 & 算法 in Swift (一):Swift

    数据结构 & 算法 in Swift (一):Swift基础和数据结构 数据结构 & 算法 in Swift (一...

  • 算法与数据结构

    数据结构 数据结构与算法分析_Java语言描述(第2版) 算法 计算机算法基础算法导论编程之法_面试和算法心得 c...

  • #算法与数据结构书籍

    数据结构 数据结构与算法分析_Java语言描述(第2版) 算法 计算机算法基础算法导论编程之法_面试和算法心得 c...

  • 29.算法入门

    算法与数据结构基础 一、基础算法思想二分: 递推: 枚举: 递归: 分治: 贪心: 试探: 模拟: 二、简单数据结...

  • 数据结构与算法学习开篇

    数据结构与算法知识图谱 20个最常用的、最基础数据结构与算法 10个数据结构:数组、链表、栈、队列、散列表、二叉树...

  • Android高级开发面试题

    一、Java 基础相关 1.1 数据结构与算法 1.1.1 常用的数据结构有哪些? 1.1.2 数组 (1).如何...

  • 数据结构与算法 - 查找

    数据结构与算法系列文章数据结构与算法 - 时间复杂度数据结构与算法 - 线性表数据结构与算法 - 树形结构数据结构...

网友评论

      本文标题:数据结构与算法基础(一)2020_0331

      本文链接:https://www.haomeiwen.com/subject/rvwqoctx.html