zoukankan      html  css  js  c++  java
  • 计算机设计第二章

    递归与分治策略

    2-1Hanoi塔问题的非递归算法

    证明:Hanoi塔问题的递归算法与非递归算法实际上是一回事。

    分析:

    递归问题算法:

    void hanoi(int n,int A,int B,int C)

    {

    if (n>0)

    {

    hanoi(n-1,A,C,B);

    move(n,A,B);

    hanoi(n-1,C,B,A);

    }

    void hanoi(int n)_{

    int top[3]={0,0,0};

    int **tower;

    Make2DArray(tower,n+1,3);

    int b,bb,x,y,min=0;

    for (int i=0;i<=n;i++){}

    top[0]=n;

    while(top[1]<n)

    {

    }

    2-2 7个搜索算法

    2-3改写二分搜索算法

    设a[0:n-1]是已经排好序的数组,请改写二分搜索算法,使得当搜索元素x不在

    数组中时,返回小于x的最大元素位置i和大于x的最小元素位置j。当搜索元素在

    数组中时。

    2-4大整数乘法的O()算法

    给定2个大整数u和v,它们分别有m和n位数字,且m<<n

    2-5 5次n/3位整数的乘数

    在用分治法求两个n位大整数u和v的乘积时,将u和v都分割为长度为n/3位的3段。

    设计一个求两个大整数乘积的分治算法,并分析算法的计算复杂性

    2-6 矩阵乘法

    对于任何非零偶数,总可以找到奇数m和正整数k,使得n=m2k。使用Strassen算法

    2-7多项式乘积

    2-8o(1)空间子数组换位算法

    设计一个算法使数组换位

    算法1:循环换位算法

    向前循环换位

    算法2:3次反转算法

    算法3:排列循环算法

    2-9o(1)空间合并算法

    算法一:向右循环换位合并

    算法2:内部缓存算法

    2-10对于所给的元素存储于数组中和存储于链表中两种情形,写出自然合并排序

    算法

    分析:对于存储于数组的情况,自然合并排序算法如下:

    temple<class T>

    void sort (T *a0,int m)

    {

    a=a0;

    n=m;

    b=new int [n];

    natural mergersort();

    }

    void naturalmergesort ()

    {

    }

  • 相关阅读:
    hadoop学习笔记(十):MapReduce工作原理(重点)
    hadoop学习笔记(九):MapReduce程序的编写
    hadoop学习笔记(八):MapReduce
    hadoop学习笔记(七):Java HDFS API
    hadoop学习笔记(六):HDFS文件的读写流程
    hadoop学习笔记(五):HDFS Shell命令
    hadoop学习笔记(四):HDFS
    hadoop学习笔记(三):hadoop文件结构
    立即执行函数
    let命令
  • 原文地址:https://www.cnblogs.com/heruonan/p/8450531.html
Copyright © 2011-2022 走看看