![](https://img-blog.csdnimg.cn/ec37a1c70353400b83ee492b7012749e.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法简介
文章平均质量分 88
讲讲计算机算法
求知路上的人
这个作者很懒,什么都没留下…
展开
-
算法1.4.归并排序
一、什么是归并排序 归并排序(Merge Sort)是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,通过把问题递归分解成子问题,最后到数组长度为一后自下而上回归解决问题,达成排序目标。 二、归并排序实现 1 分治法 在讲具体实现之前,首先要讲一个设计算法的方法,就是分治法。 很多好的算法在结构上是递归的,通过将问题递归分解成若干个子问题从而达成解决问题的目的,这些算法遵循分治法的思想。 分治法在每层递归遵循三个步骤: 将问题分解原创 2021-10-28 14:57:18 · 180 阅读 · 0 评论 -
算法1.3.插入排序
一、什么是插入排序 插入排序(Insertion Sort)是一种简单直观的排序算法,它的工作原理是构建有序序列,不断将新的元素插入到已构建的有序序列中,从而实现排序。 插入排序过程就是打扑克牌时,你逐一拿扑克牌,并在手上排序的过程。 二、插入排序实现 1 基本实现思路 假设你在和朋友打牌 你先后拿到的牌的顺序为 5,2,4,6,1,3{5,2,4,6,1,3}5,2,4,6,1,3 首先你拿到5,无需排序,这就是排完序的状态: 555 随后, 你拿到2,你需要把这张牌插入之前手上的牌,也就是5,2比5小,原创 2021-10-25 17:38:57 · 176 阅读 · 0 评论 -
算法1.2.冒泡排序
一、什么是冒泡排序 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单且最基础的排序算法,是新手入门学习排序算法的必经之路。 冒泡排序的思路非常简单,就是不断选出数组中的最大值或最小值,每选出一个数,参与选举数组长度减一。 从下图中可以形象的看到,越大的数字代表越大的泡泡,从而最先往上浮,泡泡最终根据大小先后浮出水面。 二、冒泡排序的实现 1 基本实现思路 冒泡排序有几种简单的实现方式,我在这里将以从小到大排列数组为例展示冒泡算法。 假定有一数组 5,2,4,6,1,3{5,2,4,6,1,原创 2021-10-22 18:50:54 · 507 阅读 · 0 评论 -
算法0.什么是算法
一、基本概念 算法(Algorithm)是指一个解决问题的准确而完整的过程,包含一系列解决问题的清晰指令。 例如把大象放进冰箱需要几步,答案是3步: 打开冰箱门; 把大象塞进去; 关上冰箱门。 这三步准确并且完整的描述了解决这个问题的指令,所以从大的角度看,我们的日常生活中充满了算法,如何做一顿饭、如何冲一杯咖啡等等。但是这样去讨论算法就有点广泛了,很多现实问题是拥有近乎无穷变量的混沌系统,我们很难给出一个解决问题的方案。 扯远了,我准备讲的是计算机中算法。 在计算机中,算法就是解决一个问题的计算过原创 2021-10-19 16:53:10 · 242 阅读 · 0 评论 -
算法1.1.排序算法简介
一、什么是排序算法 在实际中,数据基本不会单一出现,而是以组的形式出现。而且,出于某种需求,需要对这组数据进行排序。 问题定义: 输入:n个数的数列<a1 , a2 , … , an> 。 输出:输入数列的一个排列<a’1 , a’2 , … , a’n>,满足a’1≤\le≤a’2 … ≤\le≤a’n 。 排序算法,就是如何使得记录(数据)按照要求排列的算法。 排序算法在很多领域非常重要,尤其是在大量数据的处理方面,一个优秀的算法可以节省大量的资源。 二、为什么原创 2021-10-20 16:52:33 · 175 阅读 · 0 评论