zoukankan      html  css  js  c++  java
  • 概论——习题整理

    1、数据结构和算法的关系:

    (1)数据结构是算法的基础

    (2)算法的操作对象是数据结构,在设计算法的时候要构建合适这种算法的数据结构

    (3)数据结构设计主要是选择数据的存储方式(数组或链表),算法设计是在选定的数据结构上设计一个满足要求的好的算法

    (4)数据结构关注的是数据的逻辑结构、存储结构、基本操作,而算法关注的是如何在数据结构的基础上解决实际问题

    2、什么是算法

    算法是求解问题的一系列步骤,用来将输入的数据转换为输出结果。

    3、算法的重要特性:

    (1)有限性:执行有限步之后结束。

    (2)确定性:每一条指令无二义性。

    (3)可行性:每一条运算都能精确地执行。

    (4)输入性:一个算法有零个或多个输入。

    (5)输出性:一个算法有一个或多个输入。

    4、证明以下关系成立:

    (1)

     (2)

     要证明关系成立,即,需要找出三个正常量c1,c2和n0,使得当n>=n0的时候,满足c1(n的平方)<=式子<=c2(n的平方)

     5、

     6、

     

     7、【ACM调练题】3n+1问题:从整数n开始如果n为偶数,把它除以2;如果n为奇数,把它乘3加1,用新得到的值重复上述步骤,直到n=1时停止。例如n=22时得到同序列是22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1.对于任意整数n,该算法总能终止于n=1,这个猜测对于至少1000000内的整数都是正确的。对于给定的m,该序列的元素(包括1)个数称为n的循环节长度。请计算  i   到   j(包含 i 和  j )之间的整数中,循环节长度的最大值。

    输人:每行包含两个整数  i  和 j 。所有整效大于0,小于1 000 000
    给出:对于每对整数  i  和 j,按原来的顺序输出 i 和 j,然后输出两者之间的整数中的最大循环节长度,它们之间用单个空格分隔,且在同一行输出。对于读入的每一组数据,在输
    中应位于单独的一行。
    输入样本:
    1 10

    100  200

    201  210

    900   1000输出结果:
    1  10  20

    100  200  125

    201  210  89

    900 1000  174

    核心代码(求长度):

    int cycle(int i,int j){
        int k,count=0,maxc=0;
        for(k=i;k<=j;k++){//两个数之间的数字依次判断比较 
            while(k!=1){
                if(k%2==0)//偶 数 
                k=k/2;
                
                else//奇数 
                k=3*k+1;
                count++;
            }
            if(maxc!=0)//count大于 0 
            maxc=count;
        }
        return maxc;
    }
  • 相关阅读:
    linux下启动和关闭网卡命令及DHCP上网
    python 编码问题
    paddlepaddle
    Convolutional Neural Network Architectures for Matching Natural Language Sentences
    deep learning RNN
    Learning Structured Representation for Text Classification via Reinforcement Learning 学习笔记
    Python IO密集型任务、计算密集型任务,以及多线程、多进程
    EM 算法最好的解释
    tensorflow 调参过程
    tensorflow 学习纪录(持续更新)
  • 原文地址:https://www.cnblogs.com/zhai1997/p/12036803.html
Copyright © 2011-2022 走看看