如果写伪代码笔记

本文深入解析了伪代码的概念及其在算法描述中的应用,详细介绍了包括快速排序、选择排序和冒泡排序在内的多种排序算法的伪代码实现,并探讨了二分查找算法的工作原理。

介绍

伪代码(Pseudocode)是一种非正式的,类似于英语结构的,用于描述模块结构图的语言。(百度百科)

要点

  1. 变量:不需要声明变量类型,对于重要变量加以注释。
  2. 变量赋值: a ⬅ 3(把3赋值给a) ⬅ 比较麻烦 可以使用 =
  3. 表达式: 算数运算符 + - * / ^ 关系运算符 = != > < <= >= 逻辑运算符 and or not
  4. 条件语句:
if x = 1
	then *****
	else *****

if x = 1
	then ***
	elseif x = 2    //elseif 要连在一起
		then ***
	else ***
  1. 循环结构
    while
while x < 10
	dp ***
	***
	end

for

for var init to limit by incr do  //var 变量 into 赋值 
    s
end

for i ⬅ 0 to 10
	do ***
	***
	end
  1. 结束语句:exit 循环结束 return 算法结束
  2. 注释://

实例

快速排序

GetPartation(A,l,r)
	x = A[r]
	i = l - 1
	for j = p to r-1
		do if A[j] <= x
			then i = i + 1
			exchange A[i] <->A[j]
	exchange A[i+1] <-> A[r]
	return i+1
end
QuickSort(A,l,r)
	if l < r
		mid = GetPartation(A,l,r)
		QuickSort(A,l,mid-1)
		QuickSort(A,mid+1,r)
end

选择排序

select sort
	list = {}
	for i = 0 to list.length - 2 do
		index = i;
		if list[j] < list[index] then
			index = j
		for j = i+1 to list[index] then
			index = j;
		end
		if index < i end
			list.swap(index,i)
	end

冒泡排序

bubble sort
	list = {}
	for i = list.length-1 donw to 0  do
		for j = i-1 to 0 do
			if list[j] > list[j+1] then
				list.swap(j,j+1)
		end
	end

Binary_Search(first, last)
IF (first > last) THEN
RETURN false
ELSE
set middle to (first + middle) / 2
set result to item.compareto(middle)
IF (result = 0) THEN
RETURN true
ELSE
IF (result < 0) THEN
Binary_Search(first, middle)
ELSE
Binary_Sreach(middle, last)
二分查找

Binary_Search(A,first,last,key) // A是数组 first last查询起点终点 key查询值
	if first > last then
		return false
	else
		mid = (first + last) / 2
		if A[mid] = key then
			return true;
			else if A[mid] < key then
				Binary_Search(A,first,mid,key)
			else
				Binary_Search(A,mid,last,key)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值