Day1数据结构和算法
2019-02-27
程序设计=数据结构+算法
数据结构就是关系,是数据元素相互之间存在的关系集合
逻辑结构:数据对象中数据元素的相互关系
- 集合结构:集合里的数据元素除了同属于一个集合外没有其他关系
- 线性结构:一对一
- 树形结构:一对多
- 图形结构:多对多
物理结构:数据的逻辑结构在计算机中的存储结构,研究的是如何将数据元素存储到计算机的存储器中。
数据元素的存储结构
- 顺序存储结构:把数据元素存放在地址连续的存储单元里,数据之间的逻辑关系和物理关系是一致的(例如数组)。
- 链式存储结构:例如医院的排队系统,数据元素任意存放,这些存储单元(地址)可以连续也可以不连续,所以存储关系并不能反映逻辑关系,这时需要指针来存放元素的地址,指针就是链。1号除了存储自身的数据,还存储了一个指针,指向2号的地址,以此类推。
算法就是解决问题的技巧和方式,表现为指令的有序序列,每个指令表示一个或多个操作。
面向对象:
面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。
面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度。
而面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递。
算法的基本特征:
- 输入:算法具有零个或多个输入,绝大多数算法都是需要输入参数,但例如printf函数是,不需要输入参数。
- 输出:算法一定要输出,可能是打印输出,也可以是返回值
- 有穷性:算法有穷尽
- 确定性:算法每一步骤有确定意义、精确而无歧义,执行结果唯一。
- 可行性:每一步都能通过执行有限次数完成
转载于:https://www.cnblogs.com/wuyuchun/p/10445049.html
Day1数据结构和算法相关推荐
- 数据结构与算法基础Day1
目录 什么是程序? 学习数据结构与算法有什么用? 数据结构主要学习的什么? 数据结构(基础-进阶-高级) 什么是数据结构? 数据结构有哪些,常用数据结构详解 数据的逻辑结构和存储结构(物理结构) 什么 ...
- c语言枚举变量自增报错,C_数据结构与算法(1):C语言基础
C_数据结构与算法(一):C语言基础 致初学者的我:一切都是由浅入深. 每种语言都有每种语言的特性,基本的特性是相同的,下面依照惯例写hello world,相关编译后面再介绍. // C语言用&qu ...
- mysql索引用trie树_数据结构与算法之美【完整版】
资源目录: ├─01-开篇词 (1讲) │ ├─00丨开篇词丨从今天起,跨过"数据结构与算法"这道坎.html │ ├─00丨开篇词丨从今天起,跨过"数据结构与算法&qu ...
- 4数据结构与算法(C/C++实现)视频教程-王桂林-专题视频课程
<4>数据结构与算法(C/C++实现)视频教程-1008人已学习 课程介绍 C/C++实现数据结构与算法视频培训课程全面介绍计算机行业,基本的数据结构与算法,既有理论的深度 ...
- Python3-Cookbook总结 - 第一章:数据结构和算法
第一章:数据结构和算法 Python 提供了大量的内置数据结构,包括列表,集合以及字典.大多数情况下使用这些数据结构是很简单的. 但是,我们也会经常碰到到诸如查询,排序和过滤等等这些普遍存在的问题. ...
- 推荐一个关于.NET平台数据结构和算法的好项目
http://www.codeplex.com/NGenerics 这是一个类库,它提供了标准的.NET框架没有实现的通用的数据结构和算法.值得大家研究. 转载于:https://www.cnblog ...
- 数据结构和算法:(3)3.1线性表的顺序存储结构
-----------------------1.线性表基础操作------------------------ 线性表:(List)由零个或多个数据元素组成的有限序列. 首先他是一个序列,元素之间是 ...
- weiss数据结构和算法书的使用说明
<数据结构与算法分析 C语言描述>Mark Allen Weiss著,冯舜玺译,机械工业出版社.Weiss教授的经典教材三部曲之一,其中的C语言描述版本,也就是本书,被称为20世纪最重要的 ...
- 数据结构和算法 -- 学习导图
数据结构和算法 是作为程序员写出高效代码的基础,为了今后的两年在高效代码之路上持续精进,将按照此学习导图进行 算法和数据结构的刻意练习,同时也希望为同样有高效代码追求的伙伴们提供一条学习路径,共同进步 ...
最新文章
- [JAVAEE] 初识ThymeLeaf
- JMeter入门(1):JMeter总体介绍及组件介绍
- 对复杂业务组件在实际开发过程中被调用的反思
- Windows8 Metro开发 (04) : 保存/读取本地应用程序设置
- 用Python进行SQLite数据库操作
- background-attachment: fixed的用法
- 网络编程中BIO和NIO的区别
- 我计划搞直播了,欢迎来一起聊一聊
- 飞鸽传书有关举证不够严谨
- mysql查询语句 查询方式
- C#基础系列——Attribute特性使用
- Lucene PriorityQueue JDK PriorityQueue
- 个人网站的制作,维护,推广,营销
- Lancet Neurology:长期意识障碍的干预治疗
- matlab中sqp的算法原理_最优化方法及其Matlab程序设计 马昌凤
- Vue-创建组件时报错:Component names should conform to valid custom element name in html5 specification.
- 图片清晰度,分辨率,像素总结
- 如何解除win10和Git的最大文件路径限制
- 【Java学习从入门到入土,手把手吧基础知识填充进你的大脑】
- 天气预报文字版微信_微信公众平台开发(4)天气预报