一句话:
相互之间存在关系的数据元素的集合就是数据结构,算法是解决特定问题的有限求解步骤。

一张图:

学习数据结构与算法有什么用呢?拿一个厨师的厨艺来比较的话,真正的大厨一般不是那种能做各种花样的菜式的人,而是能把普通的菜炒出不平凡的效果的人。就像“酸辣土豆丝”,不同的人炒出来的效果就不一样,从一道简单的菜就可以看出厨师的功底,而数据结构与算法就是程序员的功底。

回到图上,由图中可以看出,数据结构操组的对象是数据元素,即他们有相同的属性(属性也取决于观察者的角度),它们之间的存在的关系会产生不同的结构,数据元素之间的关系+操作构成了数据类型,对已有的数据类型进行抽象就构成了抽象数据类型(ADT),就是封装了值和操作的模型。

在看算法这一块,就是根据输入,设计可行的计算方法并用有限的可执行步骤描述出来(程序),最终得到确定的输出。(从中也可以看出算法的5大特性:输入,输出,有穷性,确定性,可行性)

评估一个算法的好坏常用时间复杂度,时间复杂度的计算方法也可以分为3步,具体步骤图上已经给出,举个例子来说(不考虑输入输出的时间以及每个步骤之间的时间差异):如果程序需要执行3n2+10n+203n2+10n+20次,那么第一步将化简为3n2+10n+13n2+10n+1,第二步将化简为3n23n2,第三步化简为n2n2,最终时间复杂度为O(n2)O(n2)。

线性表,堆栈,串,树,图是常见的用抽象数据类型定义的结构,查找和排序是常见的算法。

————————————————
版权声明:本文为CSDN博主「土豆洋芋山药蛋」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_33414271/article/details/80366014

算法和数据结构的关系(区别)相关推荐

  1. 算法和数据结构的关系?

    算法和数据结构的关系 概述 很多场景或者书籍都会讲算法和数据结构捆绑在一起进行讲解,那为什么算法和数据结构密不可分呢? 概念 数据结构: 是指一组数据的存储结构. 举个例子:电影院里面的座位是按照几排 ...

  2. 数据结构与算法 1.算法与数据结构的关系,以及算法时间、空间复杂度的概 念及其度量方法

    文章目录 前言 一. 数据结构 1.1 概念: 1.2 数据结构分类(逻辑结构和物理结构两大类) 1.2.1 逻辑结构 1.2.2 物理结构 二. 算法 2.1 概念 2.2 算法初体验 2.3 算法 ...

  3. 算法与数据结构_数据结构与算法专题--算法基本概念

    很多开发者都知道"程序=数据结构+算法"这个著名的公式,并不真正明白算法的定义或概念.究竟什么是算法呢?从字面意义上理解,算法即用于计算的方法,通过这种方法可以达到预期的计算结果. ...

  4. 走进算法和数据结构(二)——算法绪论(二)

    14天阅读挑战赛 上一节说到算法的基本概念,算法与数据结构的关系,那算法的好坏是怎么度量的呢?这一节我们就来探讨一下. 所谓一个好的算法,无非是执行效率高,所用时间短,当然这时间的快慢有时和计算机有一 ...

  5. 利用for循环调用插入方法批量插入 一条失败_算法与数据结构(1):基础部分——以插入排序为例...

    本文将会以插入排序为例,介绍算法与数据结构的基础部分. 插入排序 排序可以说是整个算法中最为基础,最为重要的一部分,而插入排序正是排序算法中最简单的一种解决办法. 什么是排序问题? 输入:n个数的一个 ...

  6. 算法与数据结构学习路线

    随着科学技术的发展,人工智能已经逐渐渗透到各个行业,这是一个相当有前景的专业领域. 其中,算法工程师这一职位更是非常火爆,在急缺大量人才的同时,也吸引了众多求职者,那么,初学者该如何学好算法呢? 算法 ...

  7. 别头疼了,你要的算法和数据结构的学习路线来了!

    随着科学技术的发展,人工智能已经逐渐渗透到各个行业,这是一个相当有前景的专业领域. 其中,算法工程师这一职位更是非常火爆,在急缺大量人才的同时,也吸引了众多求职者,那么,初学者该如何学好算法呢? 算法 ...

  8. 什么是算法?数据结构与算法概念

    算法的概念 算法是计算机处理信息的本质,因为计算机程序本质上是一个算法来告诉计算机确切的步骤来执行一个指定的任务.一般地,当算法在处理信息时,会从输入设备或数据的存储地址读取数据,把结果写入输出设备或 ...

  9. Linux内核中的算法和数据结构

    算法和数据结构纷繁复杂,但是对于Linux Kernel开发人员来说重点了解Linux内核中使用到的算法和数据结构很有必要. 在一个国外问答平台stackexchange.com的Theoretica ...

最新文章

  1. [Android] 获取设备的APP信息
  2. centos 6.0 启动失败提示。
  3. Agile Controller产品概述
  4. Keil 二进制数输入宏
  5. Virtools 3D行为编程系列(一)
  6. java 很多if_java 使用策略模式解决代码中包含太多的if else
  7. php代码样式,PHP代码样式
  8. vue html5模板,vue-h5-template
  9. 解决iex -S mix报错
  10. 树莓派linux系统识别u盘启动,使用U-Boot让树莓派从U盘启动
  11. TCGA三个在线可视化网站
  12. Nginx 的 Echo 模块 —— echo-nginx-module(转)
  13. 终端如何查看虚拟环境_Python版本管理工具和虚拟环境
  14. CDC相关知识点总结
  15. 高频逆变器有什么优缺点?它有哪些分类?-道合顺大数据Infinigo
  16. 使用MTK的SN writer工具写IMEI的方法
  17. 图片拼图效果——ps
  18. LaTex便捷插入罗马数字
  19. 国产手机 不只是老罗一张嘴
  20. Python 自动化开发【初级】到精通-张子夜-专题视频课程

热门文章

  1. 9实用PHP函数和功能
  2. dl dt dd 标签的用法(二)
  3. 新技术频现NAB Show Shanghai,科技引领未来生活
  4. 上拉电阻和下拉电阻简单清晰解释【必看】
  5. 电缆、电线知识小问答
  6. 地理定位营销有哪些不同类型?
  7. 文件上传漏洞小结与Upload-labs 靶场纪实
  8. 2022年全球市场2代纤维素乙醇总体规模、主要生产商、主要地区、产品和应用细分研究报告
  9. TFT espi相关
  10. 无美术功底学计算机平面设计,美术在计算机平面设计中的应用