zoukankan      html  css  js  c++  java
  • c04--数组

    0.展示PTA总分

    1.本章学习内容总结

    1.1学习内容总结

    数组查找:
    1.遍历法查找:从头遍历数组找对应数据.
    2.二分法查找:适用于按顺序排列的整形数组.
    插入数据:
    先找到该数据,对数组进行移动操作后插入.
    删除数据:
    1.找到,数组移动
    2.定义新数组
    数组排序:
    1.选择法排序,两两比较进行交换,重复至多(N-1)!次
    2.冒泡法排序,两两比较选出最值进行排序,重复至多(N-1)!次

    1.2本章学习体会:

    越不努力就越不适合努力.学到指针,各种数组,尤其和矩阵的关系非常开心.
    代码量:500左右.

    2.PTA作业:

    2.1杨辉三角:

    伪代码:

    代码截图:

    测试数据:

    提交列表及说明:

    scanf_s忘记改回来了
    本题是张洸洋同学拔刀相助写对的

    2.2 判断E-mail地址是否合法

    伪代码:

    代码截图:

    测试数据:

    提交列表及说明:

    认真做了,但段错误暂时没有解决

    2.3二分查找法

    伪代码:

    代码截图:

    测试数据:

    提交列表及说明:

    老师讲解时有认真听,编译器上做了许久.

    3.阅读代码:



    其实是高中排列组合中的隔板法,但在C中是递归:
    这题的思想是找递归关系,我们不妨令f(m,n)表示m个苹果放到n个盘子里有多少种放法,下面对不同的情况给予讨论:
    (1):当盘子数为1的时候,只有一种放法就是把所有苹果放到一个盘子里。
    (2):当苹果数为1的时候,也只有一种放法,注意题目中说明,盘子之间并无顺序,所以不管这个苹果放在哪个盘子里,结果都算一个。
    (3):当m<n时,因为此时最多只能放到m个盘子中去(一个里放一个),实际上就相当于把m个苹果放到m个盘子里一样,也就是f(m,m);
    (4):当m==n时,此时分两种情况讨论,一种是一个盘子里放一个,只是一种,第二种是,至少有一个盘子里不放苹果这就相当于是f(m,m-1);
    (5):当m>n时,也分两种情况讨论,一种是至少有一个盘子里不放苹果,这样子就相当于f(m,n-1),第二种是,先取出n个苹果一个盘子里放一个,再将剩下的m-n个苹果放到n个盘子里去,即f(m-n,n);
    综上所述:
    得到递归表达式:
    f(m,n)=1 当 m=1或n=1;
    f(m,n)=f(m,m) 当m<n;
    f(m,n)=1+f(m,m-1) 当m=n;
    f(m,n)=f(m-n,n)+f(m,n-1);

  • 相关阅读:
    HTML大文件上传(博客迁移)
    微信小程序初探
    基于NodeJS微信公众号
    基于NodeJS的秘室聊天室
    CSS3 值得称赞新特性
    CAS FOR WINDOW ACTIVE DIRECTORY SSO单点登录
    IOS学习之-私人通讯录
    android 模拟2048
    使用ctypes在Python中调用C++动态库
    [Leetcode] Longest Palindromic Subsequence
  • 原文地址:https://www.cnblogs.com/newideas/p/11878432.html
Copyright © 2011-2022 走看看