数据结构学习笔记(基本概念)
1.数据:是描述客观事物的符号,是计算机可以操作的对象,是能被计算机识别,并输入给计算机处理符号的集合。
2.数据元素:是组成数据的,具有一定意义的基本单位,在计算机中通常作为整体处理,也被称为记录(理解:人类的基本单位:人,畜禽类的基本单位:鸡,鸟,鱼,鸭)。
3.数据项:一个数据元素可以由若干个数据项组成(理解:人是由胳膊,腿,头...组成的)。
4.数据对象:是性质相同的数据元素的集合,是数据的子集。
数据项是数据元素的子集,数据元素是数据对象的子集
逻辑结构
1.集合结构:集合结构中数据元素除了同属于一个集合外,它们之间没有其他关系。
2.线性结构:线性结构中的数据元素是一对一的关系。
3.树状结构:树状结构的数据元素之间存在一种一对多的层次关系。
4.图形结构:图形结构是多对多的关系。
物理结构:数据的逻辑结构在计算机中的存储形式(顺序存储结构和链式存储结构)
1.顺序存储结构:把数据元素存放在地址连续的存储单元里面,数据间的逻辑关系和物理关系是一致的。
2.链式存储结构:是把数据元素存放在任意的存储单元里面,这种存储单元可以连续,也可以不连续。
算法的特性:1.输入和输出----算法具有零个或多个输入,算法至少有一个或多个输出。2.有穷性---执行有限的步骤,并且每一个步骤都在一个可接受的时间内完成。3.确定性---算法的每一步都具有确定的定义,不会出现二义性。4.可行性---算法的每一步骤都是可行的,也就是说,每一步都可以在有限次内完成。
计算时间复杂度
推导大O阶的方法:1.没有加法常数不予考虑,2.只保留最高阶数项,3.去除这个项(最高阶数项)相乘的常数
for(int i = 0;i<n;i++)
{printf("hello World!"); /*执行n次*/
}
//复杂度为O(n)
for(int i = 0;i<n;i++)
{for(int j = i;j<n;j++) {printf("hello World!"); //执行n+n-1+n-2+n-3...... = n*(n-1)/2 }
}
//复杂度为O(n^2)n++; //执行1次
int i,j;
for(i = 0;i<n;i++) //执行n*n
{for(j = 0;j<n;j++){printf("hello world");}
}
for(i = 0;i<n;i++) //执行(n*(n+1)/2)
{for(j = i;j<n;j++){printf("hello world");}
}
//执行次数f(n) = 1+n*n+n*(n+1)/2 = 3/2*n^2+1/2*n+1,所以时间复杂度为O(n^2)递归调用:递归次数*每次递归调用的次数
long long Fib(Size_t N)
{if(N < 3)return 1; //2^0+2^1+2^2+...+2^(n-1) - X= 2^N-1 /*等比数列*/return Fib(n-1) + Fib(n-2); //O(2^N)
}
时间复杂度耗费时间从小到大:O(1)<O(logn)<O(n)<O(nlogn)<O(n^2)<O(n^3)<O(2^n)<O(n!)<O(n^n)
数据结构学习笔记(基本概念)相关推荐
- 数据结构学习笔记(六):二叉树(Binary Tree)
目录 1 背景知识:树(Tree) 2 何为二叉树(Binray Tree) 2.1 二叉树的概念与结构 2.2 满二叉树与完全二叉树 2.3 二叉树的三种遍历方式 3 二叉树及其遍历的简单实现(Ja ...
- 数据结构学习笔记(四):重识数组(Array)
目录 1 数组通过索引访问元素的原理 1.1 内存空间的连续性 1.2 数据类型的同一性 2 数组与链表增删查操作特性的对比 2.1 数组与链表的共性与差异 2.2 数组与链表增删查特性差异的原理 3 ...
- 《数据结构学习笔记》-持续记录
数据结构学习笔记 1.基本概念 1.1 数据 2.数据结构 2.1逻辑结构 2.1.1 集合结构 2.1.2 线性结构 2.1.3 树形结构 2.1.4 图形结构 2.2物理结构(存储结构) 2.2. ...
- 考研数据结构学习笔记1
考研数据结构学习笔记1 一.绪论 1.基本概念和术语 2.数据结构三要素 2.1逻辑结构 2.1.1 集合结构 2.1.2 线性结构:一对一 2.1.3 树形结构:一对多 2.1.4 图状结构:多对多 ...
- 数据结构 - 学习笔记 - 红黑树
数据结构 - 学习笔记 - 红黑树 定义 简介 知识点 1. 结点属性 2. 前驱.后继 3. 旋转 查找 插入 父结点为黑色 父结点为红色 1. 有4种情形只需要变色(对应234树4结点) 1.1. ...
- 谷粒商城商品规格数据结构学习笔记(SPUSKU)
谷粒商城商品规格数据结构学习笔记(SPU&SKU) SPU Standard Product Unit (标准产品单位) ,一组具有共同属性的商品集 SKU Stock Keeping Uni ...
- 数据结构学习笔记(王道)
数据结构学习笔记(王道) PS:本文章部分内容参考自王道考研数据结构笔记 文章目录 数据结构学习笔记(王道) 一.绪论 1.1. 数据结构 1.2. 算法 1.2.1. 算法的基本概念 1.2.2. ...
- 数据结构学习笔记(3-5):树
附录:所有blog的链接 数据结构学习笔记(1):基本概念 数据结构学习笔记(2):线性结构 数据结构学习笔记(3-5):树 数据结构学习笔记(6-8):图 数据结构学习笔记(9-10):排序 数据结 ...
- Perl 数据结构学习笔记
Perl 数据结构学习笔记 Perl 脚本常用数据结构的学习总结用于以后自己参考,包括数组.散列.散列的数组.数组的散列.混合结构的使用,参考资料:Perl数据结构,Perl 教程 数组,二维数组(数 ...
- 软考高项之学习笔记——质量成本概念
软考高项之学习笔记--质量成本概念 一.常见混淆概念 二.质量成本相关概念解释 1.质量成本概念 2.一致性成本 3.非一致性成本 三.历年真题 一.常见混淆概念 质量成本.一致性成本.非一致性成本. ...
最新文章
- 反向代理post参数怎么传输_都9102年了,GET和POST的区别掌握了没有?
- 国外10大IT网站和博客网站
- 微信小程序(11)--购物车
- iOS经典面试题总结--内存管理
- PHp批量推送数据太慢,PHP非阻塞批量推送数据-php教程
- 【CV秋季划】人脸编辑之统一属性编辑方法视频更新
- C#中怎样获取System.Drawing.Color的所有颜色对象并存到数组中
- Transformer再下一城!low-level多个任务榜首被占领,北大华为等联合提出预训练模型IPT
- 力扣算法001_两数之和
- 使用OpenCV python模块读取图像并将其另存为灰度系统
- jenkins--Jenkins+Git+coding+maven 实现自动化测试持续集成
- 推荐几个代码自动生成器,神器!!!
- 【转】GB2312 编码
- 制作游戏辅助/外挂违法吗?
- 计算机专业女生节祝福语,大学女生节简短祝福语
- R语言基础学习记录4:重要函数
- excel表格横向纵向变换_什么是报表工具?和 EXCEL 有什么区别?
- python几行代码实现邮件解析
- c#file过滤多种格式_用C#做软件:[1]文件过滤器怎么用
- javaweb 从数据库读取数据的详细操作