算法导论第二章 2.1

算法导论第二章

2.1 插入排序

1-1

  1. 首先,31是作为已经拿到左手上的牌
  2. j = 2,即我们开始再桌面上摸牌41,且我们左手最多有A.length = n张牌
  3. key获取当前牌的数据
  4. while语句开始循环,并和左手已经排好序的牌做对比,如果当前牌大于 前面的牌,则前面的牌往后移动一位,如果小于前面的牌或是前面没有牌了,则退出循环
  5. 将当前的牌插入左手牌中
  6. 依次在for循环中迭代5次后,排序完成

1-2

INSERTION-SORT(A)	// 用非升序排序重写
1   for j = 2 to A.length
2	key = A[j];
3	// 将A[j]插入已排序的序列A[1...j - 1];
4	i = j - 1;
5	while i > 0 and key > A[i]
6	    A[i + 1] = A[i]
7	    i  = i - 1;
8	A[i + 1] = key

1-3

FIND-SORT(A, u)
1   for i = 1 to A.length    // 在代码中元素数量n用A.length代替
2	if u == A[i]
3	    return A[i]
4   return NIL

1-4

ADD(A, B)
1   C = [0...0](C.length = A.length + 1)
2   for i = A.length downto 0
3	sum = A[i] + B[i]
4	if sum == 2 or sum + C[i + 1] == 2
5	    C[i] = C[i] + 1
6	else
7	    C[i + 1] = sum
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值