- DSA 使用 Java 教程
- 使用 Java 的 DSA - 主页
- 使用 Java 的 DSA - 概述
- 使用 Java 的 DSA - 环境设置
- 使用 Java 的 DSA - 算法
- 使用 Java 的 DSA - 数据结构
- 使用 Java 的 DSA - 数组
- 使用 Java 的 DSA - 链表
- 使用 Java 的 DSA - 双向链表
- 使用 Java 的 DSA - 循环链表
- 使用Java的DSA - 堆栈内存溢出
- DSA - 解析表达式
- 使用 Java 的 DSA - 队列
- 使用 Java 的 DSA - 优先级队列
- 使用 Java 的 DSA - 树
- 使用 Java 的 DSA - 哈希表
- 使用 Java 的 DSA - 堆
- 使用 Java 的 DSA - 图
- 使用 Java 的 DSA - 搜索技术
- 使用 Java 的 DSA - 排序技术
- 使用 Java 的 DSA - 递归
- 使用 Java 的 DSA 有用资源
- 使用 Java 的 DSA - 快速指南
- 使用 Java 的 DSA - 有用资源
- 使用 Java 的 DSA - 讨论
使用 Java 的 DSA - 算法
算法概念
算法是一个逐步的过程,它定义了一组按一定顺序执行以获得所需输出的指令。在数据结构方面,算法的类别如下。
搜索- 搜索数据结构中的项目的算法。
排序- 按特定顺序对项目进行排序的算法
插入- 在数据结构中插入项目的算法
更新- 更新数据结构中现有项目的算法
删除- 从数据结构中删除现有项目的算法
算法分析
算法分析涉及数据结构的各种操作的执行时间或运行时间。操作的运行时间可以定义为否。每个操作执行的计算机指令的数量。由于任何操作的确切运行时间因一台计算机而异,因此我们通常将任何操作的运行时间分析为 n 的某个函数,其中 n 为编号。数据结构中该操作中处理的项目数。
渐近分析
渐近分析是指以数学计算单位计算任何操作的运行时间。例如,一个操作的运行时间计算为f (n),另一操作的运行时间计算为g (n 2 )。这意味着第一个操作的运行时间将随着n的增加而线性增加,而第二个操作的运行时间将随着n的增加而呈指数增加。类似地,如果 n 非常小,则两个操作的运行时间将几乎相同。
渐近符号
以下是计算算法运行时间复杂度时常用的渐近符号。
Ο 表示法
Ω 表示法
θ 表示法
大哦符号,Ο
Ο(n) 是表达算法运行时间上限的正式方式。它衡量最坏情况的时间复杂度或算法完成可能需要的最长时间。例如,对于函数f (n)Big Oh 表示法用于简化函数。例如,我们可以将特定的函数方程 7nlogn + n - 1 替换为 Ο( f (nlogn))。考虑如下场景:
它表明,使用常数 c = 8 和 n 0 = 2, f (n) = 7nlogn + n - 1 在O (nlogn)的范围内。
欧米茄表示法,Ω
Ω(n) 是表达算法运行时间下限的正式方式。它衡量最佳情况的时间复杂度或算法完成可能需要的最佳时间。
例如,对于函数f (n)
Theta 表示法,θ
θ(n) 是表达算法运行时间下限和上限的正式方式。其表示如下。