数据结构基础(一)
来源:互联网 发布:u center软件 编辑:程序博客网 时间:2024/04/28 03:06
数据结构分为两种结构
注:数据结构是相互之间存在一种或多种特定关系的数据元素的集合
1.逻辑结构:数据对象中数据元素之间的互相关系 分为四种 1>集合结构:数据元素同属于合集 2>线性结构:数据元素是一对一的关系 3>树形结构:数据元素是一对多的关系 4>图形结构:数据元素是多对多的关系 2.物理结构:数据的逻辑结构在计算机中的存储形式 分为两种 1>顺序储存结构:把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。(排队占位) 2>链式储存结构:把数据元素存放在任意的储存单元里,这组储存单元可以是连续的,也可以是不连续的。(需要用一个指针存放数据元素的地址)
抽象数据类型
注:抽象数据类型体现了程序设计问题分解、抽象和信息隐藏的特性。
1.数据类型:指一组性质相同的值的集合及定义的在此金河上的一些操作的总称。
数据结构与算法关系
注:算法是为了理解和运用数据结构
算法的特性
具有五个基本特性: 1>输入和输出:算法具有零个或多个输入。算法至少有一个或多个输出。 2> 有穷性:指算法在执行有限的步骤之后,自动结束而不会出现无限循环,并且每一个步骤在接受的时间内完成。 3> 确定性:算法的每一个步骤都具有确定的含义,不会出现二义性。 4> 可行性:算法的每一步都必须是可行的(每一步都够通过执行有限次数完成)。
算法的设计要求
注:设计算法应该尽量满足时间效率和储存低的要求
1>正确性:算法的正确性是指算法至少应该具备有输入、输出和加工处理无岐义性、能正确反映问题的需求、能够得到问题的正确答案。 2>可读性:算法设计的另一目的是为了便于阅读、理解和交流。 3>健壮性:当输入数据不合法时,算法也能做出相关处理,而不是产生异常或莫名其秒的结果。
算法效率的度量方法
分为两种 1>事后统计方法:这种方法主要时通过设计好的测试程序和数据,利用计算机计时器对不同算法比阿智的程序的圆形时间进行比较,从而确定算法效率的高低(缺陷太多) 2> 事前分析估算方法:在计算机程序编制前,依据统计方法对算法进行估算。 程序在计算机上运行时所消耗的时间取决于下列因素: 1.算法采用的策略、方法。 2.编译产生的代码质量。 3.问题的输入规模。 4.机器执行指令的速度。 第一条当然时算法好坏的根本,第2条要有软件来支持,第4条要看硬件性能。 注:一个程序的运行时间,抛开与计算机硬件、软件有关的因素,更依赖于算法的好坏和问题的输入规模。(问题输入的规模是指输入量的多少)
1 0
- 数据结构基础(一)
- 数据结构基础(一)
- (一)数据结构基础
- 数据结构笔记 第一章基础概念(一)
- 数据结构基础(一)栈的实现
- 数据结构之基础个人理解(一)
- 数据结构基础笔记(一)【严蔚敏】
- 数据结构基础 查找算法(一)
- 数据结构基础(一)线性表
- 数据结构与算法基础(一)
- 数据结构学习笔记(一)基础概念
- 【数据结构基础篇】图(一)
- 数据结构基础(一)
- 数据结构基础入门(一)
- 一.基础数据结构
- 数据结构基础(一):数据结构的基本内容
- 数据结构学习笔记一:数据结构基础
- 数据结构学习笔记一--基础
- Java中对象的深复制(深克隆)和浅复制(浅克隆)介绍
- 适配ios10以及Xcode8网址:http://www.cocoachina.com/ios/20161014/17574.html
- VMvare 无法进入BIOS,设置启动项的解决方法
- 获取请求ip与端口号
- KL散度
- 数据结构基础(一)
- 关于int除以int容易碰到的小问题
- 第一个 Spring Boot 程序 : 构建 RESTful 服务
- 转 侵立删
- Linux下简单的socket通信
- 【python】文件内容拆分
- 微信web开发者工具,登陆二维码页面排版乱了,扫码也登陆不上
- 鱼眼校正之类2
- MySQL不重复插入,记录不存在则插入,存在则更新