【算法与数据结构】伪代码和流程图

1,922 阅读2分钟

一、逻辑

  • 我写的不是代码,是逻辑
  • 写代码前不理清逻辑,啥乱七八杂的东西都往上堆,更怕你没有东西往上堆

二、历史证明,三种语句搞定所有逻辑

1、顺序执行语句

语句1
语句2

2、条件判断语句

if...then...else
if...else if ... else

3、循环语句

while .. do ...
for i from 1 to n ...

三、写代码前,我们可以用伪代码和流程图来理清自己的逻辑

1、伪代码

  • 我自己的写的代码,不要在意具体细节(比如怎么表示循环,怎么表示否则),我写出来我自己懂。重点是把逻辑写出来,顺出来。
  • 就像吃西餐,必须要用刀叉,但是我就用筷子,结果不开始一样,食物照样吃完。

2、流程图

  • 太太复杂的流程图就用伪代码代替

3、好处

(1)锻炼你的大脑,你必须自己画出来,不能运行在计算机里

(2)整理你的思路,思路乱,则图乱,伪代码都写不好,则代码更写不好

4、举例:找最大数(两个数、N个数)

(1)两个数中找最大数

①我先说出来

  • 如果第1个数大于第2个数,
  • 就输出第1个数
  • 否则输出第2个数

②伪代码

a=[12, 32]
if a.get(0)> a.get(1)
print a.get(0)
else
print a.get(1)

③流程图

(2)N个数中找最大数

①我先说出来

  • 找到第1、2个数字中较大的那一个,存入max
  • 找到max和第3个数字中较大的那个,存入max
  • 找到max和第...个,存入max
  • max就是最大的数

②代码

a=[12,32,9,1 ,23, 6]
max = a[0]
for (var i=1 , i<a.length ,i++)
  if (a.get(i) > max)  {max = a.get(i)}
  else{}
print max

③流程图