数据结构读书笔记---------第一章 绪论
1.1 数据结构的概念
数据结构是一门研究非数值计算程序设计中计算机的操作对象以及它们之间的关系和运算等的学科.
1.2 相关的概念和术语
- 数据:是信息的载体,它能够被计算机识别,存储和加工处理,它是计算机程序加工的原料.它可以是数值数据,也可以是非数值数据.
- 数据项:具有独立含义的标识单位,是数据不可分割的最小单位.数据项具有一定的类型,以数据项的取值类型而定.
- 数据元素:是数据的基本单位.在不同条件下,数据元素又可以称为元素,结点,顶点等.
- 数据对象:具有相同性质的数据元素的集合.在某个具体问题中,数据元素都具有相同的性质(元素值不一定相等),属于同一数据对象(数据对象类),数据元素是数据元素类的一个实例.
- 数据结构:是指互相之间存在着一种或者多种特定关系的数据元素的集合.
1.3 抽象数据类型
抽象数据类型是指一个数学模型以及定义在该模型上的一组操作.抽象数据类型的定义取决于它的一组逻辑特性,而与其在件算计内部如何表示和实现无关.
1.4 算法和算法分析
算法是对待特定问题求解步骤的一种描述,是指令的有限序列.算法应该具有以下特性:
- 有穷性
- 确定性
- 可行性
- 输入(一个算法具有零个或者多个输入)
- 输出(一个算法具有一个或者多个输出)
设计一个好的算法通常需要考虑以下要求: 正确,可读,健壮,高效.
1.5 算法性能分析和度量
求解同一个问题,可以有许多不同的算法,那么如何评价算法的优劣?
- 执行算法所耗费的时间
- 执行算法所耗费的存储空间,其中主要考虑辅助存储空间
- 算法应该易于理解,易于编码,易于调试
然而计算硬件等各种因素不能确定的情况下,很难计算算法的执行时间,于是我们采用以下两种指标:
- 时间复杂度
一个程序的时间复杂度是指程序运行从开始到结束所需要的时间T(n),一般要精确计算T(n)很困难,于是我们引入"渐近时间复杂度"
T(n)=2,7*n^3+3.8*n^2+5.3 则T(n)=O(n^3)
时间复杂度的排序:
O(1)<O(log(n)<O(n)<O(nlog(n))<O(n^2)<O(n^3)<...<O(2^n)
2. 空间复杂度
一个程序的空间复杂度是指程序运行从开始到结束所需要的存储量.S(n)=O(f(n))
程序设计部分:
首先,这里介绍一下k阶的斐波那契数列
定义:f0=0,f1=0,...,f(k-2)=0,f(k-1)=1;
fn=f(n-1)+f(n-2)+...+f(n-k) ,n=k,k+1,...
试编写k阶斐波那契序列的第m项值的函数算法,k和m均以参数的形式在参量表中出现
int k_fib(int k,int m)
{int f;if(m<k-1)f=0;else if(m==k-1)f=1;else{f=0;for(int i=1;i<=k;i++)f+=k_fib(k,m-i);}return f;
}
一元多项式的计算
#include<iostream>
using namespace std;
int main(void)
{int i,n;double x,a,s;cin>>n;cin>>x;s=0;for(i=0;i<=n;i++){cin>>a;s=s*x+p; //a下标依次是n,n-1,n-2,...0}cout<<s<<endl;
}
转载于:https://www.cnblogs.com/SqLver/p/4906932.html
数据结构读书笔记---------第一章 绪论相关推荐
- 【机器学习】周志华 读书笔记 第一章 绪论
1..什么是机器学习? 引言部分关于各种情景,是基于经验做出的的预判,机器学习的本质任务是预测. 特征 学习经验 =>从而做出有效的决策 def:① 机器学习是一门学科, ② ...
- 西瓜书(机器学习 周志华)读书笔记--第一章 绪论
1.1 引言 略 1.2 基本术语 1.2.1 数据集相关的基本概念 假定我们收集了一批关于西瓜的数据,例如(色泽=青绿;根蒂=蜷缩;敲声=浊响), (色泽=乌黑;根蒂=稍蜷;敲声=沉闷), (色泽= ...
- 数据结构与算法 --- 第一章 绪论
数据结构与算法 第一章 绪论 1. 作者的话 2. 为什么要学习数据结构与算法 3. 数据结构与算法的作用 4. 数据结构的概念 4.1 名词解读 4.2 什么是数据 4.3 数据结构 4.4 逻辑结 ...
- 《MAC OS X 技术内幕》读书笔记第一章:MAC OS X的起源
<MAC OS X 技术内幕>读书笔记第一章:MAC OS X的起源 前言 1 System x.x系列 1.1System 1.0(1984年1月24日) 1.2System 2.x(1 ...
- 小吴的《机器学习 周志华》学习笔记 第一章 绪论
小吴的<机器学习 周志华>学习笔记 第一章 绪论 近一年时间接触到不少机器学习的知识,虽然断断续续学了一些,总感觉还没有入门(只学会了疯狂调包).因此,最近开始系统学习Machine Le ...
- Android群英传神兵利器读书笔记——第一章:程序员小窝——搭建高效的开发环境
Android群英传神兵利器读书笔记--第一章:程序员小窝--搭建高效的开发环境 目录 1.1 搭建高效的开发环境之操作系统 1.2 搭建开发环境之高效配置 基本环境配置 基本开发工具 1.3 搭建程 ...
- 数据结构(c语言版严蔚敏_吴伟民)读书笔记 第一章
目录 数据结构第一章 绪论 数据元素之间存在的关系称为结构 算法 1.算法应具有的特性 2.设计算法的要求 3.算法效率度量(时间复杂度)T(n) = O(f(n)) 4.算法的储存空间的需求(空间复 ...
- 《性能之巅—洞悉系统、企业与云计算》读书笔记---第一章
目录 第一章 绪论 1.1系统性能 1.2人员 1.3事情 1.4视角 1.5性能是充满挑战的 1.6延时 1.7动态跟踪 1.8云计算 1.9案例研究 第一章 绪论 1.1系统性能 1.2人员 ...
- linux鸟叔私房菜读后感,鸟叔的Linux私房菜 读书笔记 第一章
目录dom 硬盘数学 第一章 计算机概论 知识点总结 计算机的定义为:接受使用者输入指令与资料,经由中央处理器的数学与逻辑单元运算处理后,以产生或储存成有用的资讯:程序 电脑的五大单元包括:输入单元. ...
最新文章
- html文件girlfriend,index.html
- linux安装ppp服务器,服务器_最简单的Linux系统上的pptpd服务器安装,1. rpm -qa|grep ppp 检查ppp版本, - phpStudy...
- 【洛谷 P4886】 快递员 (点分治)
- 用MyEclipse JPA创建项目(四)
- Python:通过获取淘宝账号和密码的实验,来看登陆方式选择的重要性
- 阿里云的短信验证码功能实现
- 教你如何看headers
- tomcat配置启动端口和默认项目及默认404
- 详解Vue中使用scope进行样式隔离
- K8s项目实战笔记 图文并茂带你深度解析Kubernetes
- 2022年2月halcon licenses
- 800份企业管理资料,股权方案模板(收购+优化+激励+代持+分配等),共140M
- Uva 12627 Erratic Expansion
- C++实践参考解答 个人所得税计算器
- 计算机操作系统实验指导 (第3版) 第四篇 操作系统学习指导和习题解析 第21章:虚拟存储管理 习题和答案
- Win7 瘦身 winsxs文件夹
- react方法返回html_#react# 在页面中显示html代码块
- 微软活动目录墓碑时间
- 使用Aplayer制作视频播放器
- [回归分析][11]--共线性数据的分析
热门文章
- anaconda安装scrapy失败的解决方法(2020.7.7)
- .bashrc: line 123: syntax error: unexpected end of file
- php自动处理,thinkphp中的三种自动处理
- proguard java 教程,[Gradle中文教程系列]-跟我学Gradle-使用proguard混淆你的spring boot应用...
- 计算机应用基础东师,2018年东师计算机应用基础.doc
- 上周五 oracle,Oracle 获取上周一到周末日期的查询sql语句
- highstock 只显示所有 不显示 月_小米34寸曲面显示器深度体验 办公体验极佳 但是还有个大弱点...
- php7.1解压包安装,【Swoole】php7.1安装swoole扩展
- 华硕的服务器怎么看型号,怎么识别华硕主板型号
- 亿条数据读取工具_运维数据的统一治理(上)