博客作业05--查找

1.学习总结

1.1查找的思维导图

1.2 查找学习体会

  • 查找这一章节整体的思路比较清晰,几种不同的查找方式都提高了对数据查找的速度,减少了时间复杂度。可以通过查找的ASL是来选择合适的算法。

2.PTA实验作业

2.1 题目1:6-2 是否二叉搜索树

2.2 设计思路

    静态定义指正p并置于空
    如果树不空
        判断递归左子树为空,返回false
        判断p不空且T->data<=p->data 返回false
        p=T
        递归返回右子树
    返回true

2.3 代码截图

2.4 PTA提交列表说明

  • 没问题

2.1 题目2:7-1 QQ帐户的申请与登陆

2.2 设计思路

    定义字符串型变量x,y,z
    如果x==L
        在map里没有找到则账号不存在,否则继续在map里查找密码
    如果x==N
        在map里找到则账号存在,否则将账号密码进map

2.3 代码截图

2.4 PTA提交列表说明

  • map算法不太熟练

2.1 题目3:7-2 航空公司VIP客户查询

2.2 设计思路

    while n--
        对输入的len判断,如果小于k则赋值k
        MAP[name]=MAP[name]+len
    for i= to c
        对输入的name判断,在map中找到输出MAP[name],否则输出No Info
    

2.3 代码截图

2.4 PTA提交列表说明

  • 此题不能用c++格式输入输出

3.截图本周题目集的PTA最后排名

3.1 PTA排名

3.2 我的总分:2.5

4. 阅读代码(必做,1分)

int main()  
  {  
     map<string,int> Map;  
     map<string,int> ::iterator it;  
     Map.insert(pair<string,int>("root",12));  
     Map.insert(pair<string,int>("scot",11));  
     for(it=Map.begin();it!=Map.end();it++)  
         cout<<it->first<<"    "<<it->second<<endl;  
     it=Map.begin();  
     Map.erase(it);//通过迭代器删除  
     string key="root";  
     Map.erase(key);//通过key删除  
     Map.erase(Map.begin(),Map.end());//一个迭代器,到另一个迭代器  
     //相当于  Map.clear();  
     for(it=Map.begin();it!=Map.end();it++)  
         cout<<it->first<<"    "<<it->second<<endl;  
     return 0;  
 }  
  • map<int, string>::iterator it 是声明一个 迭代器,map<int, string> it 是 声明一个map容器

5. 代码Git提交记录截图

posted @ 2018-05-26 20:43  做人要有疯度  阅读(171)  评论(0编辑  收藏  举报