计算机编程算法常用术语.pdfVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

计算机编程算法常用术语

计算机编程算法是计算机科学中的核心概念之一,它用于解决各种

问题,优化程序的执行效率和准确性。在学习和实践编程算法的过程

中,我们会接触到许多常用的术语,它们有助于我们理解和运用不同

的算法。本文将介绍一些常用的计算机编程算法术语。

一、数据结构

1.数组(Array)

数组是一种线性数据结构,它由一组相同类型的元素组成,这些元

素在内存中是连续存储的。通过索引可以快速访问数组中的元素,其

时间复杂度为O(1)。

2.链表(LinkedList)

链表是一种动态数据结构,它由一系列的节点组成,每个节点包含

数据和指向下一个节点的指针。相比数组,链表的插入和删除操作更

高效,但访问元素需要遍历整个链表,时间复杂度为O(n)。

3.栈(Stack)

栈是一种先进后出(LIFO)的数据结构,它可以通过两个基本操作

实现:压栈(push)和弹栈(pop)。栈常用于实现递归、表达式求值

和回溯等算法。

4.队列(Queue)

队列是一种先进先出(FIFO)的数据结构,它可以通过两个基本操

作实现:入队(enqueue)和出队(dequeue)。队列常用于实现广度优

先搜索和任务调度等算法。

5.树(Tree)

树是一种非线性数据结构,它由节点和边组成,每个节点可以有多

个子节点。树常用于实现搜索、排序和存储等算法,常见的树结构有

二叉树、红黑树和AVL树等。

6.图(Graph)

图是一种非线性数据结构,它由节点和边组成,每个节点可以与其

他节点相连。图常用于实现网络、路径搜索和最短路径等算法,常见

的图结构有有向图和无向图等。

二、排序算法

1.冒泡排序(BubbleSort)

冒泡排序是一种简单的排序算法,它重复地比较相邻的两个元素,

如果顺序错误就交换它们。通过多次遍历,最大(或最小)的元素会

逐渐移动到最后,时间复杂度为O(n²)。

2.快速排序(QuickSort)

快速排序是一种高效的排序算法,它通过选取一个基准元素将数组

划分为两部分,然后递归地对两个子数组进行排序。快速排序的平均

时间复杂度为O(nlogn)。

3.归并排序(MergeSort)

归并排序是一种稳定的排序算法,它将待排序的数组递归地分成两

个子数组,然后将两个有序的子数组合并成一个有序的数组。归并排

序的时间复杂度为O(nlogn)。

4.插入排序(InsertionSort)

插入排序是一种简单直观的排序算法,它将数组分为已排序和未排

序两部分,然后将未排序的元素依次插入已排序的序列中。插入排序

的平均时间复杂度为O(n²)。

5.选择排序(SelectionSort)

选择排序是一种简单直观的排序算法,它重复地选择最小(或最大)

的元素,并将其放到已排序的序列末尾。选择排序的时间复杂度为

O(n²)。

三、查找算法

1.顺序查找(LinearSearch)

顺序查找是一种简单直观的查找算法,它从数组的第一个元素开始

依次比较,直到找到目标元素或遍历完整个数组。顺序查找的时间复

杂度为O(n)。

2.二分查找(BinarySearch)

二分查找是一种高效的查找算法,它要求待查找的数组必须是有序

的。通过比较目标元素和数组的中间元素,每次将查找范围缩小一半,

最终找到目标元素或确定不存在。二分查找的时间复杂度为O(logn)。

3.哈希查找(HashSearch)

哈希查找是一种通过哈希函数将元素映射到固定地址,从而实现快

速查找的算法。哈希查找的时间复杂度为O(1),但需要额外的存储空

间来存储哈希表。

四、动态规划

动态规划是一种解决复杂问题的优化技术,它通过将问题分解为子

问题,并保存子问题的解来避免重复计算。动态规划常用于求解最长

公共子序列、最短路径和背包问题等。

五、贪心算法

贪心算法是一种通过每一步选择局部最优解来求解整体最优解的算

法。贪心算法的优势在于其高效性,但其并不能保证得到全局最优解,

常用于求解活动选择、霍夫曼编码和最小生成树等问题。

六、回溯算法

回溯算法是一种通过尝试所有可能的解,并逐步构建出所有满足条

文档评论(0)

180****7545 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档