美文网首页
算法初级

算法初级

作者: Frank_io | 来源:发表于2018-07-03 00:03 被阅读0次

伪代码与流程图

机构化编程

  1. 一行一行的执行代码
  2. 有条件控制语句 if...else...
  3. 有循环控制语句while(exp) do...

伪代码

我理解的伪代码就是用自己的语法写的代码语句

伪代码的好处

  1. 不用纠结于语法的细节,语法是自己定的
  2. 可以对比语言设计者的想法,从而加深印象

我的语法

a <= 1 表示将1赋值给了a

  • 条件控制语句
if xxx
  1
elseif yyy
  2
else
  3
end
  • 循环语句
n <= 0
while n < 10
  print n
n <= n+1
end
  • length表示一个容器,'length'表示一个字符串,length <= 'length'表示将字符串放入到容器中

流程图

流程图

一个最简单的例子

从正整数数组a里面找出最小的数字,并打印出来

a  <= {
'0' : 23
'1' : 43
'2' : 230
'3' : 1321
'4' : 90
'length' : 5
}
min <= a['0']
index <= 1
while index < a['length']
  if a[index] < min
    min <= a[index]
    end
    index <= index + 1
end
print min

什么是算法

维基百科定义为算法是一个表示为有限长列表的有效方法

算法的特征归纳

  • 输入:一个算法必须有零个或以上的输入量。
  • 输出:一个算法应有一个或以上的输出量,输出量是算法计算的结果。
  • 明确性: 算法的描述必须无歧义,以保证算法的实际执行结果是精确的匹配要求或期望,通常要求实际运行结果是确定的。
  • 有限性:依据图灵的定义,一个算法是能够呗任何图灵完备系统模拟的一串运算,而图灵机只有有限个状态,有限个输入符号和有限个转移函数(指令)。而一些定义更规定算法必须在有限个步骤内完成任务。
  • 有效性:又称可行性。能够实现,算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现。

什么是数据结构

简单来说就是数据的结构

  1. 我们要解决一个跟数据相关的问题
  2. 分析这个问题,想出对应的数据结构
  3. 分析数据结构,想出算法
  • 数据结构和算法是相互依存,不可分开的
    大的分类包括:分治法、动态规划法、贪婪算法、线性规划法、简并法

排序算法

  1. 冒泡排序
  2. 选择排序
  3. 插入排序
  4. 基数排序
  5. 快排
  6. 归并排序
  7. 队排序等
    推荐一个排序可视化网站:https://visualgo.net/bn/sorting

相关文章

  • 算法——初级排序算法

    最近,在通过《算法4》这本书来重新学习一下算法,从最初级的排序算法。初级的排序算法有3种:选择排序、插入排序、希尔...

  • 算法初级

    伪代码与流程图 机构化编程 一行一行的执行代码 有条件控制语句 if...else... 有循环控制语句while...

  • 算法初级

    结构化编程 一行一行的执行 有条件控制语句if...else 有循环控制语句while(exp)do 伪代码 语法...

  • 初级算法

    工作忙完了,就闲着浏览各种各样的网页,看到了W3Cschool的关于算法的挑战,感觉还蛮有意思的,进而总结了一下。...

  • 算法初级

    什么是算法? 以下是高德纳在他的著作《计算机程序设计艺术》里对算法的特征归纳: 输入:一个算法必须有零个或以上输入...

  • 排序(二) -- 进阶排序算法

    背景 我们上一节复习了三个初级的排序算法(选择,插入,冒泡),这一节我们继续学习时间复杂度优于初级算法的三个算法(...

  • 初级算法-Dijkstra算法

    问题描述 一个点(源点)到其余各个顶点的最短路径,也叫做“单源最短路径”。例如求下图中的1号顶点到2、3、4、5、...

  • 算法初级(排序算法)

    结构化编程&伪代码 说到排序算法,就要先讲一下什么是结构化编程,总结一下来说,结构化编程有以下特点:1.一行一行执...

  • 初级排序算法

    选择排序:首先找到数组中最小的那个元素,其次将它和数组第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己...

  • Python算法(初级)

    1.请计算 2.5 + 10 / 4 ,并解释计算结果为什么不是期望的 5.0 ? 2.假设新来一名学生Paul,...

网友评论

      本文标题:算法初级

      本文链接:https://www.haomeiwen.com/subject/mfuruftx.html