概念: 1.一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。 一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。 2.一般情况下,算法的基本操作重复执行的次数是模块…
分类:数据结构
【数据结构】图解七大排序
目录 插入排序 ①直接插入排序 基本思想 动图演示 代码实现 ②希尔排序 基本思想 图示 代码实现 选择排序 ③直接选择排序 基本思想 动图演示 代码实现 ④堆排序 基本思想 建堆需要注意的问题 图示 代码实…
数据结构(三):非线性逻辑结构-树
经过数据结构(二)系列文章,已经把线性结构中最常用的数据结构进行了介绍,包括顺序存储结构中顺序表、顺序队列和顺序栈,链式存储结构中的链表、链栈和链队列。线性结构是数据结构中最为常见也最简单的逻辑结构。下面将进入非线性逻辑…
时间复杂度计算及空间复杂度计算
目录 1.算法效率 2.时间复杂度 3.空间复杂度 4.大O渐进表示法 5.常见时间复杂度 常见复杂度对比 oj练习 1.算法效率 算法效率分析分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空…
Huffman树与文件压缩的原理
1、Huffman树的简单介绍以及带权路径长度的求解 Huffman树,又称为最优二叉树,是加权路径长度(weighted path l…
数据结构--七大查找算法总结
查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找。本文简单概括性的介绍了常见的七种查找算法,说是七种,其实二分查找、插值查找以及斐波那契查找都可以归为一类—…
基数排序——多关键字排序(MSD/LSD)以及链式基数排序
排序 9.6 基数排序 9.6.1 多关键字排序 9.6.2 链式基数排序 9.6 基数排序 基数排序又被称为桶排序。与前面介绍的几种排序方法相比较,基数排序和它们有明显的不同。前面所介绍的排序方法都是建立在对数据元素关…
为什么要学数据结构?
文章目录 一、前言 二、为什么要学数据结构 三、数据结构无处不在 3.1 数据库 3.2 操作系统 3.3 文件压缩 3.4 游戏 四、数据结构类型 一、前言 在可视化化程序设计的今天,借助于集成开发环境可以很快地生成程…
Java中的集合类包括ArrayList、LinkedList、HashMap等,下列关于集合类描述错误的是(C)
Java中的集合类包括ArrayList、LinkedList、HashMap等,下列关于集合类描述错误的是(C) A.ArrayList和LinkedList均实现了List接口 B.ArrayList的访问速度比Li…
二叉搜索树
目录 二叉搜索树概念 二叉搜索树节点的定义 二叉搜索树的插入 二叉搜索树的查找 二叉搜索树的删除 二叉搜索树的应用 二叉搜索树的性能分析 完整代码 二叉搜索树概念 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以…
数据结构化和半结构化的区别
什么是结构化数据?什么是半结构化数据? 概述 相对于结构化数据(即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据)而言,不方便用数据库二维逻辑表来表现的数据即称为非结构化数据,包括所有格式的办公文档、文本、…
【数据结构】链表的概念以及分类
在上一篇文章中,写到了顺序表。我们知道顺序表和链表都属于线性表。既然都是存储数据,干啊费那么大劲整这么多,所以它们俩肯定有各自的优点和缺点。 优点 缺点 顺序表 1.支持随机访问 1.增容时成倍增长,有空间…