2025年算法与数据结构深度解析笔记.pdfVIP

  • 1
  • 0
  • 约1.46万字
  • 约 28页
  • 2026-03-14 发布于河北
  • 举报

数据构造概述:

预备知识

模块一:线性构造

持续存储数[组]

离散构造链[表]

线性构造的两种常见用之一栈堆(栈)

线性构造的两种常见用之二队列

专题:递归

1.1+2+100的和

2.求阶乘

3.汉诺塔

4.走迷宫

模块二:非线性构造

模块三:查找和排序

折半查找

排序:冒泡插入选择迅速排序归并排序

补录:Java中容器和数据构造有关知识

Iterator接U

Map哈希衣

严蔚敏-一高一凡--黄国瑜

///5/24

数据构造概述

定义

我们怎样把现实中大量而复杂的问题以特定的数据类型和特定的存储构造

保留到主存储器(内存)中,以及在此基础上为实现某个功能例(如查找或删

除某个元素,对所有元素进行排序)而执行的对操作,这个对操作叫做算

法。

特定的数据类型:个体怎样保留

特定的存储构造:个体与个体的关系怎样保留

数据构造=个体的存储+个体关系的存储

算法狭(义)=对存储数据的操作

算法:即解题的措施和环节

衡量算法的原贝I

1.时间复杂度重[要]

大概程序要执行的次数,而非执行的时间

2.空间复杂度重[要]

算法执行过程中大概所占用的最大内存

3.难易程度

4.强健性

数据构造的地位

数据构造是软件中最关键的课程。

程序=数据的存储+数据的操作+可以被计算机执行的语言

预备知识:

指针

构造体

动态内存的分派和释放

指针:

指针的重要性:

表达某些复杂的数据构造

迅速的传送数据

使函数返回i种以卜的值

能否直接访问硬件

可以以便的使用数组和字符串

是理解面向对象语言中引用的基础

指针是C语言的灵魂

定义

地址

内存单元的编号

注意:

指针变量也是变量,只不过它寄存的不能是内存单元的内容,只能寄存内

存单元的地址

一般变量前不能加*

常量和体现式前不能加

怎样通过被调函数修改主调函数中i般变量的值

I实参为有关变量的地址

II形参为以该变量的类型为类型的指针变量

m在被调函数中通过*形参变量名的方式就可以修改主函数有关变量的值

Eg:voidf(int*p)//II

{

*P=100;//TH

)

intmain(void)

{

inti=9;

f(i);//I

aM

printf(i=%d\n,i);

)

指针数组的关系

指针一维数组

数组名

一维数组名是个指针常量,

它寄存的是一维数组第一种兀索的地址,

它的值不能被变化

■维数组名指向的是数组的第•种元素

下标指针的关

文档评论(0)

1亿VIP精品文档

相关文档