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

1,512 阅读1分钟

逻辑

三种语句搞定所有逻辑

1.顺序执行语句

语句一
语句二

2.条件判断语句

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

3.循环语句

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

举例

两个数中找最大数

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

1.伪代码

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

2.流程图

N个数中找最大数

找到第12个数字中较大的那一个,存入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

流程图

总结

逻辑很重要

用三种语句表达逻辑

用图和伪代码表示三种语句

数据结构

如何表示两个数据

如何表示N个数据

如何表示N对N 数据

数据结构 = 数据形式 + 操作

  • 不同形式的数据暴露不同的操作

面试题

有一段英文对白,里面只会出现 a-z、 A-Z、标点符号和空格,请告诉我每个字符出现的次数

  • 例如 Hi,I'm Frank
  • 输出a出现1次,F出现1次,H出现1次......

哈希表 伪代码