美文网首页
数据结构和算法(一)概念篇

数据结构和算法(一)概念篇

作者: 码动人生 | 来源:发表于2020-05-11 14:16 被阅读0次

正文

上学时候学过相关数据结构和算法的课程,工作中也没有很多用到的时候。很多知识点都已经还给老师了,最近又整理学习下相关的知识点。后续会持续更新记录每个知识点的具体情况,欢迎指正相互学习。

image.png

1.1相关术语

数据

数据(Data)是能被计算机处理的符号或符号集合,含义广泛,可理解为“原材料”。
如字符、图片、音视频等

数据元素

数据元素(data element)是数据的基本单位。例如一张学生统计表。

数据项

数据项(data item)组成数据元素的最小单位。例如一张学生统计表,有编号、姓名、性别、籍贯等数据项
可以理解为数据库表中的字段值

数据对象

数据对象(data object)是性质相同的数据元素的集合,是数据的一个子集。例如正整数N={1,2,3,····}。

数据结构:

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合.
它主要是研究数据的逻辑结构和物理结构之间的相互关系。

1.2 逻辑结构

逻辑结构(logical structure)是指在数据中数据元素之间的相互关系。数据元素之间存在不同的逻辑关系构成了以下4种结构类型。

(1)集合结构:集合的数据元素没有其他关系,仅仅是因为他们挤在一个被称作“集合”的盒子里。

(2)线性结构:线性的数据元素结构关系是一对一的,并且是一种先后的次序,就像a-b-c-d-e-f-g·····被一根线穿连起来。

(3)树形结构:树形的数据元素结构关系是一对多的,这就像公司的部门级别,董事长-CEO\CTO-技术部\人事部\市场部.....。

(4)图结构:图的数据元素结构关系是多对多的。就是我们常见的各大城市的铁路图,一个城市有很多线路连接不同城市。

1.3物理结构(存储结构)

存储结构(storage structure)也称为物理结构(physical structure),指的是数据的逻辑结构在计算机中的存储形式。数据的存储结构一般可以反映数据元素之间的逻辑关系。分为顺序存储结构和链式存储结构。

(1)顺序存储结构:是把数据元素存放在一组存储地址连续的存储单元里,其数据元素间的逻辑关系和物理关系是一致的。
    常用的实现方式如:顺序表,数组

(2)链式存储结果:是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。
    数据元素的存储关系并不能反映其逻辑关系,因此需要借助指针来表示数据元素之间的逻辑关系。

1.4算法

算法可以理解为解决问题的方法。有一种说法是 程序=数据结构+算法。算法的操作对象是数据结构。数据结构关注的是数据的逻辑结构和存储结构,而算法则是在数据结构的基础上来解决问题。
算法是编程思想,数据结构是思想的基础。

算法的5大特性

1.有穷性,是指算法在执行有限的步骤之后,自动结束而不是出现无限循环,并且每一个步骤在可接受的时间内完成。

2.确定性,是指算法执行的每一步骤在一定条件下只有一条执行路径,也就是相同输入只能有一个唯一的输出结果。

3.可行性,是指算法每一步骤都必须可行,能够通过有限的执行次数完成。

4.输入,是指算法具有零个或多个输入。

5.输出,是指算法至少有一个或多个输出。

1.5算法的优劣

同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从[时间复杂度]和[空间复杂度]来考虑

1.5.1时间复杂度

image.png

时间复杂度的优劣顺序:


image.png

1.5.2空间复杂度

算法运行需要消耗的内存空间

1.6常用的经典算法

  • 递推法
  • 递归法
  • 穷举法
  • 贪心算法
  • 分治法
  • 动态规划法
  • 迭代法
  • 分支界限法
  • 回溯法

总结:

以上是数据结构和算法的相关概念的基础知识笔记,后续会继续记录,相关常用数据结构的算法实现。欢迎相互习。

相关文章

  • 数据结构与算法-目录

    数据结构与算法-目录 C语言篇 数据结构和算法-C语言篇1-绪论数据结构和算法-C语言篇2-初识算法数据结构与算法...

  • 数据结构-数据结构的一般概念

    大纲:掌握数据结构的基本概念和术语。了解抽象数据类型的概念。掌握算法的特性,算法的描述和算法的分析。 数据结构的基...

  • 数据结构和算法(一)概念篇

    正文 上学时候学过相关数据结构和算法的课程,工作中也没有很多用到的时候。很多知识点都已经还给老师了,最近又整理学习...

  • 数据结构与算法系列之时间复杂度

    前言 上一篇《数据结构和算法》中我介绍了数据结构的基本概念,也介绍了数据结构一般可以分为逻辑结构和物理结构。逻辑结...

  • 什么是数据结构和算法(一)

    1.1 数据结构和算法的概念 数据结构与算法相辅相成,不会孤立存在;数据结构是为算法服务的,算法是作用在特定的数据...

  • 10.数据结构和算法 初识

    1、数据结构与算法(Python) 数据结构和算法是什么?答曰:兵法! 1.1算法的概念 算法是计算机处理信息的本...

  • 数据结构与算法基本概念

    数据结构与算法 本文包括: 算法概念 时间复杂度 大 O 记法 数据结构概念 Python 内置类型的效率 算法的...

  • IOS开发_数据结构

    1、数据结构; 2、算法; 3、数据结构与算法; 1、数据结构; 1.1 概念: 数据结构:数据结构是计算...

  • 数据结构与算法之美1--如何学

    数据结构与算法抓住重点,系统高效地学习数据结构与算法? 概念 广义上讲:数据结构指的是“一组数据的存储结构”,算法...

  • 数据结构与算法(一)基础知识

    程序 = 数据结构 + 算法 想让你的程序拥有天才般的灵魂,就一起学习数据结构和算法吧 基本概念和术语 1. 数据...

网友评论

      本文标题:数据结构和算法(一)概念篇

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