IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 算法与数据结构 -> 正文阅读

[数据结构与算法]算法与数据结构

									**数据结构基础知识**

1.数据结构:
(1)数据元素之间的逻辑关系,被称为逻辑结构
(2)数据元素及其关系在计算机内存中表示(映像),称为数据的物理结构或存储结构
(3)数据的运算和实现

2.数据结构的层次
(1)逻辑结构:

  • 线性结构:有且只有一个开始和一个终端节点,并且所有节点最多,只有一个直接前趋和一个直接后继(线性表,栈,队列,串)

  • 非线性:一个节点可能有多个直接前趋和后继:树,图

  • 数据元素之间的关系与数据存储无关,独立于计算机从具体问题抽象出来的数学模型

(2)物理结构

  • 集合:(同属于一个集合)线性结构 (一对一) 树形结构(一对多) 图状结构(多对多)
  • 存储方式:数据结构在计算机中的表示

(3)逻辑和物理的关系

  • 存储结构是逻辑关系的映像与元素本身的映像
  • 逻辑结构是数据结构的抽象,存储结构是数据结构的实现

3.四种存储结构
(1)顺序结构:连续的存储单元依次存储数据元素,数据元素之间逻辑关系由元素位置来表示
(2)链接存储结构:用一组任意的存储单元存储数据元素,数据元素之间逻辑关系用指针表示
(3)索引存储(索引表)
(4)散列存储:根据节点的关键字直接计算出该节点的存储地址

4.数据类型
(1)抽象数据类型(ADT)
(2)(D,S,P)三元组
D:数据对象 S:是D上的关系集 P:对D的基本操作集

(3)基本操作定义格式:
赋值参数只为操作提供输入值
引用参数以&打头,除了提供输入值外,还将返回操作结果
在这里插入图片描述在这里插入图片描述

typedef struct{                
float realpart;		//实部
float imagpart;	}	//虚部
Complex 			//定义复数抽象类型
void assign(Complex *A ,float real ,float imag);
void add(Complex *A ,float real ,float imag);A + B
void minus(Complex *A ,float real ,float imag);A - B
void multiply(Complex *A ,float real ,float imag);A * B
void divide(Complex *A ,float real ,float imag);A/B

C语言实现:
void assign(Complex *A ,float real ,float imag){
A-> realpart = real;   //实部赋值
A-> imagoart  = imag;   //虚部赋值
}

void add (Complex *c ,Complex *A ,Complex *B)     {//c = A+B
c -> realpart  = A.realpart + B.realpart;//实部相加
c -> imagpart = A.imagpart + B.imagpart;//虚部相加
}

5.算法和算法分析要求
正确性,可读性,健壮性,高效性
(1)算法时间效率的度量

  • 一个算法的运行时间是指一个算法在计算机上运行所耗费的时间大致可以等于计算机执行一种简单操作(赋值,比较等)所需的时间与算法中进行的简单操作次数的乘积

算法运行时间 = 一个简单操作所需的时间*简单操作数

  • 算法中每条语句的执行时间之和

算法运行时间 = 每条语句的执行次数* 该语句执行一次所需的时间(所有加在一起的和)

  • 算法消耗的时间定义为该算法中每条语句的频率之和

T(n) = 2n^3 + 3n^2 + 2n +1(关于n的函数…)

  • 改进算法的时间复杂度:为了比较不同算法的时间效率,仅仅比较他们的数量级

算法分析
一般只考虑算法中基本操作执行的次数,不计算所有操作的执行次数,它是问题规模n的某个函数,用T(n)表示
在这里插入图片描述
在这里插入图片描述

分析算法时间复杂度的基本方法(找出嵌套层次最深的那个语句频度)
T(n) = O(f(n))(算法中基本语句重复执行的次数是解决问题规模n的某个函数f(n))

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-11-09 19:49:07  更:2021-11-09 19:52:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:30:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码