2019-02-27

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

数据结构就是关系,是数据元素相互之间存在的关系集合

逻辑结构:数据对象中数据元素的相互关系

  1. 集合结构:集合里的数据元素除了同属于一个集合外没有其他关系
  2. 线性结构:一对一
  3. 树形结构:一对多
  4. 图形结构:多对多

物理结构:数据的逻辑结构在计算机中的存储结构,研究的是如何将数据元素存储到计算机的存储器中。

数据元素的存储结构

  1. 顺序存储结构:把数据元素存放在地址连续的存储单元里,数据之间的逻辑关系和物理关系是一致的(例如数组)。
  2. 链式存储结构:例如医院的排队系统,数据元素任意存放,这些存储单元(地址)可以连续也可以不连续,所以存储关系并不能反映逻辑关系,这时需要指针来存放元素的地址,指针就是链。1号除了存储自身的数据,还存储了一个指针,指向2号的地址,以此类推。

算法就是解决问题的技巧和方式,表现为指令的有序序列,每个指令表示一个或多个操作。

面向对象:

面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。

面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度。

而面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递。

算法的基本特征:

  1. 输入:算法具有零个或多个输入,绝大多数算法都是需要输入参数,但例如printf函数是,不需要输入参数。
  2. 输出:算法一定要输出,可能是打印输出,也可以是返回值
  3. 有穷性:算法有穷尽
  4. 确定性:算法每一步骤有确定意义、精确而无歧义,执行结果唯一。
  5. 可行性:每一步都能通过执行有限次数完成

转载于:https://www.cnblogs.com/wuyuchun/p/10445049.html

Day1数据结构和算法相关推荐

  1. 数据结构与算法基础Day1

    目录 什么是程序? 学习数据结构与算法有什么用? 数据结构主要学习的什么? 数据结构(基础-进阶-高级) 什么是数据结构? 数据结构有哪些,常用数据结构详解 数据的逻辑结构和存储结构(物理结构) 什么 ...

  2. c语言枚举变量自增报错,C_数据结构与算法(1):C语言基础

    C_数据结构与算法(一):C语言基础 致初学者的我:一切都是由浅入深. 每种语言都有每种语言的特性,基本的特性是相同的,下面依照惯例写hello world,相关编译后面再介绍. // C语言用&qu ...

  3. mysql索引用trie树_数据结构与算法之美【完整版】

    资源目录: ├─01-开篇词 (1讲) │ ├─00丨开篇词丨从今天起,跨过"数据结构与算法"这道坎.html │ ├─00丨开篇词丨从今天起,跨过"数据结构与算法&qu ...

  4. 4数据结构与算法(C/C++实现)视频教程-王桂林-专题视频课程

    <4>数据结构与算法(C/C++实现)视频教程-1008人已学习 课程介绍         C/C++实现数据结构与算法视频培训课程全面介绍计算机行业,基本的数据结构与算法,既有理论的深度 ...

  5. Python3-Cookbook总结 - 第一章:数据结构和算法

    第一章:数据结构和算法 Python 提供了大量的内置数据结构,包括列表,集合以及字典.大多数情况下使用这些数据结构是很简单的. 但是,我们也会经常碰到到诸如查询,排序和过滤等等这些普遍存在的问题. ...

  6. 推荐一个关于.NET平台数据结构和算法的好项目

    http://www.codeplex.com/NGenerics 这是一个类库,它提供了标准的.NET框架没有实现的通用的数据结构和算法.值得大家研究. 转载于:https://www.cnblog ...

  7. 数据结构和算法:(3)3.1线性表的顺序存储结构

    -----------------------1.线性表基础操作------------------------ 线性表:(List)由零个或多个数据元素组成的有限序列. 首先他是一个序列,元素之间是 ...

  8. weiss数据结构和算法书的使用说明

    <数据结构与算法分析 C语言描述>Mark Allen Weiss著,冯舜玺译,机械工业出版社.Weiss教授的经典教材三部曲之一,其中的C语言描述版本,也就是本书,被称为20世纪最重要的 ...

  9. 数据结构和算法 -- 学习导图

    数据结构和算法 是作为程序员写出高效代码的基础,为了今后的两年在高效代码之路上持续精进,将按照此学习导图进行 算法和数据结构的刻意练习,同时也希望为同样有高效代码追求的伙伴们提供一条学习路径,共同进步 ...

最新文章

  1. [JAVAEE] 初识ThymeLeaf
  2. JMeter入门(1):JMeter总体介绍及组件介绍
  3. 对复杂业务组件在实际开发过程中被调用的反思
  4. Windows8 Metro开发 (04) : 保存/读取本地应用程序设置
  5. 用Python进行SQLite数据库操作
  6. background-attachment: fixed的用法
  7. 网络编程中BIO和NIO的区别
  8. 我计划搞直播了,欢迎来一起聊一聊
  9. 飞鸽传书有关举证不够严谨
  10. mysql查询语句 查询方式
  11. C#基础系列——Attribute特性使用
  12. Lucene PriorityQueue JDK PriorityQueue
  13. 个人网站的制作,维护,推广,营销
  14. Lancet Neurology:长期意识障碍的干预治疗
  15. matlab中sqp的算法原理_最优化方法及其Matlab程序设计 马昌凤
  16. Vue-创建组件时报错:Component names should conform to valid custom element name in html5 specification.
  17. 图片清晰度,分辨率,像素总结
  18. 如何解除win10和Git的最大文件路径限制
  19. 【Java学习从入门到入土,手把手吧基础知识填充进你的大脑】
  20. 天气预报文字版微信_微信公众平台开发(4)天气预报

热门文章

  1. PHP生成随机数;订单号唯一
  2. 网上收集的“知乎网”技术方案架构
  3. BZOJ 1019: [SHOI2008]汉诺塔( dp )
  4. c c++ sizeof
  5. ASP.NET MVC+LINQ开发一个图书销售站点(6):创建数据层
  6. JavaScript数据结构——集合(Set)
  7. 2021年退休工资会不会涨?
  8. 六零后的人马上步入老年生活,没有退休金,如何养老?
  9. 古巷里的人像写真,怎么拍出漂亮的照片?
  10. 义乌成直播电商掘金地