6.数据结构和算法

news/2024/7/7 19:33:07

数组

(2*5+3)*2=26

a+26

 

稀疏矩阵

 

稀疏矩阵:一个矩阵中大量的元素为零

A

 

数据结构定义

 

 

 

 

 

 

 

线性表

 

 

 

 

 

 

 

 

 

 

线性表-顺序存储与链式存储对比

 

 

 

 

 

 

 

 

 

 

线性表-队列与栈

不考虑入栈就出栈:

c-》b-》a

考虑入栈就出栈

a-》b-》c

a-》c-》b

b-》a-》c

b-》c-》a

 

 

D

 

 

广义表

表头:最外层的第一个表元素

表尾:除第一个元素外的其他所有元素

 

  1. 长度3,深度2
  2. b=head(head(tail(LS1)))

 

 

树与二叉树

结点的度:一个结点拥有的孩子结点数

树的度:所有结点中度数最高的结点的度       2

叶子结点:无孩子结点       7

分支结点:有分支的结点           2,3,6

内部结点:不是叶子结点和根结点的结点       2,3,6

父结点:相对而言

子结点:相对而言

兄弟结点:同一父亲下的同级结点

层次:级别

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

树与二叉树-二叉树遍历

前序遍历:中左右       12457836

中序遍历:左中右       42785 6

后序遍历:左右中       48752631

层次遍历:一层层,从左向右    12345678

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

树与二叉树-反向构造二叉树

 

 

 

树与二叉树-树转二叉树

 

树与二叉树-查找二叉树

 

 

 

 

 

 

 

 

树与二叉树-最优二叉树(哈夫曼树)

树的路径长度:结点的连线的数量

权:叶子结点代表的字符出现的频度

带权路径长度:路径长度乘以权值           (2叶子)带权路径长度:2*2=4

树的带权路径长度(树的代价):叶子结点的带权路径长度的和

 

哈夫曼树:树的代价最小

 

构造哈夫曼树:

  1. 先构建最小的树,选最小的两个值
  2. 选择未使用的最小值继续构建

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

树与二叉树-线索二叉树

 

二叉树的叶子存在大量的空指针,所以构建线索二叉树

 

前序线索二叉树:ABDEHCFGI

 

树与二叉树-平衡二叉树

 

平衡度:左结点的深度减去右结点的深度

 

 

 

 

图的存储-邻接矩阵

 

 

 

 

图的存储-邻接表

图的遍历-

 

 

 

 

 

图-拓扑排序

 

 

 

 

 

 

 

 

 

 

 

 

图的最小生成树-普里姆算法

 

树与图的区别:树没有环路

 

由根点选出最小的路径,注意不能形成环

AàB

AàE

AàF

FàD

DàC

 

图的最小生成树-克鲁斯卡尔算法

选出最小的5条边:注意不能形成环

AàB

AàE

AàF

FàD

DàC

 

算法基础-算法的特性

算法的复杂度

查找-顺序查找

 

 

二分查找

 

 

 

 

查找-散列表

存在重复的问题:解决思路:扩大空间或提高算法复杂度,减小重复度

 

排序

稳定排序:排序前后相等值的相对前后不变

内排序:内存中排序

外排序:外部存储空间排序

 

效率:直接插入排序《《希尔排序

         冒泡排序《《快速排序

         简单排序《《堆排序

排序-直接插入排序

 

排序-希尔排序

数据量少的时候选择直接插入排序,数据量大的时候,选择希尔排序

 

 

 

 

排序-直接选择排序

 

排序-堆排序

小顶堆:所有孩子结点都大于根节点

大顶堆:所有孩子结点都小于根节点

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

排序-冒泡排序

 

 

 

 

 

 

 

 

排序-快速排序

 

 

排序-归并排序

 

 

 

 

 

排序-基数排序

 

 

排序-总结

 

 

 

 

 

 

 

 


http://www.niftyadmin.cn/n/872543.html

相关文章

7.程序设计语言和语言处理程序基础

基本内容 编译过程 文法定义 语法推导树 有限自动机 正规式 ※表示循环多次 DC C 表达式 D 函数调用-传值与传址 各种程序语言的特点

8.法律法规与标准化知识

基本内容 法律法规-保护期限 法律法规-只是产权人确定 侵权判定 标准化的分类

9.多媒体基本知识

多媒体技术基本概念-音频相关概念 多媒体技术基本概念-图像相关概念 多媒体技术基本概念-媒体的种类 多媒体技术基本概念-多媒体相关计算问题 24位3B 1600*1200*35760000/1024/10245.493 128/5.49323.3 D 1字节8bit 44.1*16*12*21411.2kb C 6.4*30*101920 D 采样/传输 k10…

10.系统开发基础

软件开发模型 软件开发模型-瀑布模型(SDLC) 确定:无法灵活应对需求变更的场景 软件开发模型-其他经典模型 软件开发模型-增量模型与螺旋模型 V模型 强调测试贯穿开发始终 软件开发模型-构件组装模型(CBSD) 软件开发模…

11.面向对象

面向对象设计-设计原则 需求开发-需求分析-OOA-UML 面向对象设计-设计模式的概念 面向对象设计-设计模式分类 面向对象设计-创建型模式 面向对象设计-创建型模式 面向对象设计-行为型模式

12.数据流图

数据流图基本概念 例子: 数据字典 例子 数据流图平衡原则

[转]那些相见恨晚的 JavaScript 技巧

JavaScript 的成功让人津津乐道,为 Web 网页编写 JavaScript 代码已经是所有 Web 设计师的基本功,这门有趣的语言蕴藏着许多不为人熟知的东西,即使多年的 JavaScript 程序员,也未能完全吃透。本文从7个方面讲述 JavaScript 中那些…

13.数据库设计

数据库设计过程 ER模型-实体间联系类型 ER图向关系模型的转换