博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构与算法---基础概念篇
阅读量:4184 次
发布时间:2019-05-26

本文共 922 字,大约阅读时间需要 3 分钟。

我们都知道

程序设计 = 数据结构 + 算法
首先我们先来认识数据结构和算法的基本概念。
相关概念:
数据:是描述客观事物的符号,是计算机中能够操作的对象,能够被计算机所识别、并输入给计算机处理的符号集合。
数据元素:是组成数据,有一定意义的基本单位,在计算机中常被作为整体处理,也被称之为记录。
数据项:一个数据元素有若干个数据项组成,是数据不可再分的最小单位。

说明:

数据元素都不是孤立存在的,而是他们之间存在着某些关系,这些数据元素相互之间的关系称之为结构。

数据结构:

定义1—

数据结构是相互之间存在一种或者多种特定关系的数据元素的集合。
定义2—
按某种逻辑关系组织起来的一批数据(或称带结构的数据元素的集合)应用计算机语言并按一定的存储表示 方式把它们存储在计算机的存储器中,并在其上定义了一个运算的集合。

数据结构分为逻辑结构和物理结构(存储结构)。

逻辑结构描述的是数据元素之间的逻辑关系。

物理结构(存储结构)是指数据结构在计算机中的表示,它包括数据元素的表示和关系的表示。
存储结构两方面的内容:
(1)数据元素自身值的表示(数据域)
(2)该结点与其它结点关系的表示(链域)
这里写图片描述
逻辑结构:
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
物理结构:
逻辑数据在计算机中的存储形式:
顺序存储结构:数据元素存储在地址连续的单元里,数据的逻辑关系和物理关系是一致的。
这里写图片描述
链式存储结构::数据元素存储在任意的单元里,存储单元可以连续也可以不连续。
这里写图片描述

算法:

所谓算法(Algorithm)是对特定问题求解方法(步骤)的一种描述。

为解决某一特定问题而由若干条指令组成的有穷序列。
适合于计算机程序实现的求解问题的方法

算法的特性:

一个算法必须满足以下五个准则:
(1)有穷性 : 执行了有限条指令后一定要终止。
(2)确定性 : 算法的每一步操作都必须有确切定义,不得有任何歧义性。
(3)可行性 : 算法的每一步操作都必须是可行的,即每步操作均能在有限时间内完成。
(4)输入 : 一个算法有n(n>=0)个初始数据的输入。
(5)输出 : 一个算法有一个或多个与输入有某种关系的有效信息的输出。

设计算法的要求:

正确性、可读性、健壮性、时间效率高且空间使用率低、简单性。

你可能感兴趣的文章
论 MySql InnoDB 如何通过插入意向锁控制并发插入
查看>>
详解 MySql InnoDB 中的三种行锁(记录锁、间隙锁与临键锁)
查看>>
Mysql 锁的测试
查看>>
BeanPostProcessor的五大接口
查看>>
promotion failed和concurrent mode failure
查看>>
垃圾回收器学习之Full GC和CMS GC的区别
查看>>
Java JUnit 单元测试小结
查看>>
volatile关键字解析
查看>>
nginx upstream failover 容错机制
查看>>
java中,创建子类对象时,父类对象会也被一起创建么?
查看>>
nginx配置 -- 让匹配路径不作为文件目录的一部分
查看>>
Redis为什么是单线程的?
查看>>
Treiber Stack介绍
查看>>
FutureTask源码解读
查看>>
Redis架构之防雪崩设计:网站不宕机背后的兵法
查看>>
使用BloomFilter布隆过滤器解决缓存击穿、垃圾邮件识别、集合判重
查看>>
BloomFilter布隆过滤器使用
查看>>
YoungGC 停顿超长时间
查看>>
近千节点的Redis Cluster高可用集群案例:优酷蓝鲸优化实战
查看>>
Redis系列一:reids的单机版安装
查看>>