个人头像照片 一键天涯

个人介绍

暂无个人介绍

  • 最新动态
  • 文章
  • 问答
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息
  • 回答了问题 2019-07-17

    《算法帝国》和《算法导论》这两本书怎么样,有啥区别?优缺点?

    算法导论我看过,有些高深了,建议初学者不要去看,如果你注重理论的话可以去参考,不过里面程序全是用伪代码写的。
    踩0 评论0
  • 回答了问题 2019-07-17

    下列四种排序中( )的空间复杂度最大。 (A) 快速排序 (B) 冒泡排序 (C) 希尔排序 (D) 堆

    快排不用递归写就不怎么费空间了吧,希尔排序法可以写成logn的空间复杂度吧,堆排序排序元素个数不定的话叶子层很可能浪费一半左右的空间...总之题目有问题吧,要是时间复杂度的话肯定是冒泡了,空间的话怎么都可以往大里写的吧。
    踩0 评论0
  • 回答了问题 2019-07-17

    有什么书市整理了编程所需要的数学知识

    你是哪里人
    踩0 评论0
  • 回答了问题 2019-07-17

    已知某递归算法的复杂度为:T(n)=2T(n/2)+4,则求解该递归式的解为:

    4(2n-1)

    可以这样理解,递归分解到最后一层是n个四
    上一层是n/2个4,再上一层n/4个4,一直往上
    全部加起来是2n-1个4
    时间复杂度忽略掉常数是O(n)的
    踩0 评论0
  • 回答了问题 2019-07-17

    怎么更好地终极理解递归算法

    递归的基本思想是把规模大的问题转化为规模小的相似的子问题来解决。在函数实现时,因为解决大问题的方法和解决小问题的方法往往是同一个方法,所以就产生了函数调用它自身的情况。另外这个解决问题的函数必须有明显的结束条件,这样就不会产生无限递归的情况了。
    需注意的是,规模大转化为规模小是核心思想,但递归并非是只做这步转化,而是把规模大的问题分解为规模小的子问题和可以在子问题解决的基础上剩余的可以自行解决的部分。而后者就是归的精髓所在,是在实际解决问题的过程。
    踩0 评论0
  • 回答了问题 2019-07-17

    谁知道严蔚敏的数据结构与算法的例子,是用什么语言写的?

    不就是C语言写的,课本很多地方都写到了在C语言中可描述
    踩0 评论0
  • 回答了问题 2019-07-17

    求java冒泡排序法的原理?

    你要的是原理还是代码。。又或者是代码加注释呢,说清楚点我们才可以帮你嘛
    踩0 评论0
  • 回答了问题 2019-07-17

    VB程序设计使用递归算法求P的值 P=A!+B!+C!(A,B,C是任意自然数)

    Private Sub Command1_Click()
    Dim a As Integer, b As Integer, c As Integer
    Dim p As Long
    a = Val(InputBox("A="))
    b = Val(InputBox("B="))
    c = Val(InputBox("C="))
    p = jc(a) + jc(b) + jc(c)
    Print a & "!+" & b & "!+" & c & "!=" & p
    End Sub
    Function jc(n As Integer)
    If n > 1 Then
    jc = n * jc(n - 1)
    Else
    jc = 1
    End If
    End Function
    踩0 评论0
  • 回答了问题 2019-07-17

    请问这个11100000转换成二进制怎么算?

    11100000是二进制转换成十进制为=224,计算方法:
    8位二进制按照顺序乘以2的次方就可以得出。(首位-1)
    1*2的7次方加上1*2的6次方加上1*2的5次方,0没计算意义
    所以等于128+64+32=224
    踩0 评论0
  • 回答了问题 2019-07-17

    算法导论应该在学习acm后的那个阶段开始开呀?

    算法的学习也不是一朝一夕的事,是一个需要往返重复学习和实践来提升自己对算法的理解的,
    可以在刚开始前先了解些常用的算法,这样在acm时不至于太受挫,在碰到问题的时候也可以回过头来看书来学习。靠坚持,看书不用,时间长了也会忘掉。坚持。加油。愿你学习愉快。
    踩0 评论0
  • 回答了问题 2019-07-17

    c++起泡法排序

      这题目的意思不是起泡排序(冒泡排序),起泡排序是每趟两两比较,将最大的数交换到最后,该题是简单选择排序的其中一趟。
      起泡排序是一种交换排序,简单选择排序是一种选择排序。
      附上简单选择排序代码:
      void SelectSort(int *a, int n)
      {
       int i, j, t, temp;
       // 需要n - 1趟
       for (i = 0; i < n - 1; i++)
       {
       // 设每趟a[t]为最小元素
       for (j = i + 1, t = i; j < n; j++)
       {
       if (a[j] <= a[t])
       {
       // 记录最小元素的下标
       t = j;
       }
       }
       temp = a[t];
       a[t] = a[i];
       a[i] = temp;
       }
     }
    踩0 评论0
  • 回答了问题 2019-07-17

    c语言试题,递归函数,1/2+1/2^2+1/2^3+....+1/2^n算法

    #include <stdio.h>
    double cal(int n)
    {
    if (n == 1)return 0.5;
    return 0.5*(1+cal(n - 1));
    }
    int main()
    {
    int n = 3;
    printf("%f\n", cal(n));
    return 0;

    }
    踩0 评论0
  • 回答了问题 2019-07-17

    数据结构和算法为什么这么重要

    若是 编程语言的使用是武学中的招式那么 数据结构和算法就是内功心法 可以让我们的编程更合理。 名人语录:程序=数据结构+算法
    踩0 评论0
  • 回答了问题 2019-07-17

    设计一个冒泡排序算法,用顺序查找方法,实现某个数据的查找

    C写的
    #include <stdio.h>
    #include <stdlib.h>

    int main()
    {
    int i,j,t,a[10];
    printf("Please input 10 integers:\n");
    for(i=0;i<10;i++)
    scanf("%d",&a[i]);
    for(i=0;i<9;i++) /* 冒泡法排序 */
    for(j=0;j<10-i-1;j++)
    if(a[j]>a[j+1])
    {t=a[j];/* 交换a[i]和a[j] */
    a[j]=a[j+1];
    a[j+1]=t;
    }
    printf("The sequence after sort is:\n");
    for(i=0;i<10;i++)
    printf("%-5d",a[i]);
    printf("\n");
    system("pause");
    return 0;
    }
    踩0 评论0
  • 回答了问题 2019-07-17

    vb题随机生成【0,100】10个数,选择法排序。

    Private Sub Command1_Click()

      Dim a(10) As Integer

      For i = 1 To 10

        a(i) = Int(101 * Rnd)

      Next i

      For i = 1 To 9

        k = i

        For j = i + 1 To 10

          If a(j) < a(k) Then k = j

        Next j

        t = a(i): a(i) = a(k): a(k) = t

      Next i

      For i = 1 To 10

        Print a(i);

      Next i

      Print: Print

    End Sub

    踩0 评论0
  • 回答了问题 2019-07-17

    请问如何证明,渐近非负的任意二次函数f(n)=Θ(n^2) ?(《算法导论》第3章)

    我是一个叫晶晶的女孩,前几天,我晚自习回家,被一辆大卡车撞死了,司机将我的尸体抛入了路径边的小河里,然后逃走了,你看见了这条信息后,请将她发给4个论坛,如果没有发,你的妈妈会在1个月后撞死,你的爸爸会得绝症,如果你照着做了,在5天后,你喜欢的也会喜欢你,条消息太毒了,我不得不发 真的对不起,我很抱歉 !SAORU
    踩0 评论0
  • 回答了问题 2019-07-17

    豹子最快可以跑多快

    猎豹是生活在非洲、中东以及印度的一种食肉性动物,以鹿和斑马等动物为食。一般认为猎豹是哺乳动物中奔跑速度最快的动物,时速可达120-130公里。其实,猎豹的性格温顺,因此,在古代曾有饲养猎豹来狩猎的传说。
    那么,猎豹为什么能快速奔跑呢。因为,它的形体长得前高后低,腰部比较细,胸部较宽,胯部空当儿大,前后肢细长,前后脚掌上有厚厚的肉垫。而且它的脊椎骨柔软并能弯曲,鼻孔比较大,能够呼吸较多的空气,供给剧烈运动之所需。由于这些条件,使它能快速奔跑,但是,这样快的速度不能持久,大既只能坚持500-800米的路程就要慢下来。虽然被追捕的猎物如鹿和斑马等动物只能以80公里左右的时速奔跑,但是因为它们能长时间地保持同样的速度奔跑,所以只要和猎豹有一定的距离就可以不被猎豹吃掉。因此,猎豹都尽可能接近猎物时才袭击
    豹子进化的完美. 和其他的哺乳动物相比有两大特征
    1是豹子的脊柱间的缝隙能很大程度上的拉伸
    2是豹子无锁骨,伸缩性超强伸缩距离超长.这让豹子有很好的施加力的长度(时间)
    豹是目前世界上在陆地上奔跑得最快的动物,它的时速可以达到112公里。如果人类的短跑世界冠军和猎豹进行百米比赛的话,猎豹可以让这个世界冠军先跑60米,最后到达终点的是猎豹,而不是这个短跑世界冠军。当它奔跑速度达到110公里以上的时候,它的呼吸系统和循环系统都在超负荷运转。所以猎豹一般只能短跑几百米,它就减速了。要不然它身体就过热,然后会产生虚脱。所以这种奔跑是很伤元气的,有时候就是猎豹抓住了猎物,因为它刚才跑得太快,所以它那个时候也没办法进食,必须要休息一下,或者喘喘气,才能开始进食。这个时候是猎豹最脆弱的时候,很可能就是它的猎物很可能被附近的狮子或者豹子抢走,甚至它自己还有生命之忧。
    所以我简直无话可说了,250km/h。F1也就这水平。。。。
    以110km/h跑1-2分钟。那也就是说猎豹追击猎物可以跑2-4公里,你以为猎豹是斑鬣狗呀。
    一般来说猎豹扑杀猎物的追击距离只有300米左右,瞬间速度(也就是最后一步)可以达到110km/h以上。而在前面的追捕过程中平均速度在80左右。一般猎豹捕猎是需要潜伏到20米左右的距离才发起攻击的,瞪羚的最高速度(注意是最高速度)在80左右,以你们的说法如果猎豹随随便便就能跑出110+,以30km/h的速度差,20米的距离只需要2秒左右就能追到,而且一般情况都是猎豹先启动,而现实情况是猎豹捕杀瞪羚往往是在极限距离成功,也就是10秒左右的追击时间。因此猎豹的平均速度远远达不到100,但瞬间速度可以达到110以上,甚至更高。
    踩0 评论0
  • 回答了问题 2019-07-17

    C语言:写一函数,用“冒泡法”对输入的10个字符按由小到大顺序排列

    #include<stdio.h>
    int main()
    {
    int i,a[10],t,j;
    for(i=0;i<10;i++)
    scanf("%d",&a[i]);
    for(i=0;i<10;i++)
    for(j=0;j<9;j++)
    if(a[j]>a[j+1])t=a[j],a[j]=a[j+1],a[j+1]=t;
    for(i=0;i<10;i++)
    printf("%d",a[i]);
    return 0;
    }
    试试~看看是不是你想要的
    踩0 评论0
  • 回答了问题 2019-07-17

    求RSA加密解密算法,c++源代码

    #include<iostream.h>
    #include<stdio.h>
    #include<math.h>
    int pf_c(int m,int k);
    int pf(int m1,int n1);
    int gcd(int f);
    int r;
    int h;
    void main()
    { int a,b,c,d,d1,a1,b1,c1;
    cout<<"请输入你选择的2个大素数!"<<endl;
    cin>>a1;
    cin>>b1;
    r=a1*b1;
    c=(a1-1)*(b1-1);
    c1=gcd(c);
    cout<<"公开钥为:"<<c1<<endl;
    cout<<"请选择你要的操作:1.加密 2.解密"<<endl;
    cin>>a;
    switch(a){
    case 1: cout<<"请输入明文:"<<endl;
    cin>>b;
    cout<<"密文为:"<<pf_c(b,c1)<<endl;
    break;
    case 2: cout<<"请输入密文:"<<endl;
    cin>>d;
    d1=pf(c,c1);
    cout<<"私密钥为:"<<d1<<endl;
    cout<<"明文为:"<<pf_c(d,d1)<<endl;
    break;
    }
    getchar();
    }
    int pf_c(int m,int k)
    {
    int a,i1,a1,b[50],c1,c;
    c=0;c1=1;i1=0;
    do{
    a=k/2;
    a1=k%2;
    b[i1]=a1;
    k=a;
    i1++;
    }while(a>0);
    i1--;
    for(int i=i1;i>=0;i--)
    {
    c=2*c;
    c1=(c1*c1)%r;
    if(b[i]==1)
    {
    c=c+1;
    c1=(c1*m)%r;
    }
    }
    return c1;
    }
    int pf(int m1,int n1)
    {
    int x1=1,x2=0,x3;
    int y1=0,y2=1,y3;
    x3=m1;
    y3=n1;
    int d;
    for(int i=0; ;i++)
    {
    int q=x3/y3;
    int t1=x1-q*y1;
    int t2=x2-q*y2;
    int t3=x3-q*y3;
    x1=y1;
    x2=y2;
    x3=y3;
    y1=t1;
    y2=t2;
    y3=t3;
    if(y3==1)
    {
    if(y2<0) d=m1+y2;
    else d=y2;
    break;
    }
    }
    return d;
    }
    int gcd(int f)
    {
    int x1=1,x2=0,x3;
    int y1=0,y2=1,y3;
    for(int i1=2;i1<f;i1++)
    {
    x3=f;
    y3=i1;
    int q=x3/y3;
    int t1=x1-q*y1;
    int t2=x2-q*y2;
    int t3=x3-q*y3;
    x1=y1;
    x2=y2;
    x3=y3;
    y1=t1;
    y2=t2;
    y3=t3;
    if(y3==1)
    {
    return i1;
    break;
    }
    }
    }
    踩0 评论0
  • 回答了问题 2019-07-17

    我刚参加工作,做Java的,现在看算法导论对我的职业帮助大吗

    程序=算法+数据结构。。。只能帮到这了
    踩0 评论0
正在加载, 请稍后...
滑动查看更多