zoukankan      html  css  js  c++  java
  • DS博客作业07--查找

    1.本周学习总结

    1.思维导图

    2.学习体会

     查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找。在本章中,我们学习了大量的查找算法,比如折半查找,比如顺序查找等,还有运用在树里的,每一种查找各有不同,在做题时,我们往往需要根据题目的特点,选择合适的查找方法,并且考虑时间和空间复杂度,使代码达到更优。

    2.PTA实验作业

    2.1题目一: 是否二叉搜索树

    2.1.1设计思路(伪代码)

    首先二叉搜索树,就是:
    非空左子树的所有键值小于其根结点的键值。
    非空右子树的所有键值大于其根结点的键值。
    左、右子树都是二叉搜索树。
    所以就按这个考虑
    

    2.1.2代码截图

    2.1.3提交列表及说明

    A1:编译错误?
    Q1:就是日常会犯的毛病,这块少一个分号,纳里少一个括号啥的。
    A2:编译错误?
    Q2:在后面的if else中,while的循环不会写,就一直编译错误。

    2.2题目二:二叉搜索树中的最近公共祖先

    2.2.1设计思路(伪代码)

    首先二叉搜索树,就是:
    非空左子树的所有键值小于其根结点的键值。
    非空右子树的所有键值大于其根结点的键值。
    左、右子树都是二叉搜索树。
    所以就按这个考虑
    
    

    2.2.2代码截图


    2.2.3提交列表及说明


    A1:编译错误?
    Q1:我不太有思路。
    A2:部分正确?
    Q2:在后面的循环中,我少了考虑了一种情况。

    2.3题目三:QQ帐户的申请与登陆

    2.3.1设计思路(伪代码)

    
    	int m;
    	cin>>m;
    	string a3,a2;
    	char a1;
    	while(m--)
    	{
    		cin>>a1>>a2>>a3;
    		if(a1=='N')//判断是L还是N
    		{
    			if(Q.find(a2)==Q.end())//map用法
    			{
    				Q[a2]=a3;
    				cout<<"New: OK"<<endl;
    			}
    			else
    			{
    				cout<<"ERROR: Exist"<<endl;
    			}
    		}
    		if(a1=='L')
    		{
    			if(Q.find(a2)==Q.end())
    			{
    				cout<<"ERROR: Not Exist"<<endl;
    			}
    			else
    			{
    				map<string,string>::iterator it;
    				it=Q.find(a2);
    				if(it->second==a3)
    				{
    					cout<<"Login: OK"<<endl;
    				}
    				else
    				{
    					cout<<"ERROR: Wrong PW"<<endl;
    				}
    			}
     		
    		}
    	}
    
    

    2.3.2代码截图



    2.3.3提交列表及说明


    A1:编译错误?
    Q1:在写map<string,string>::iterator it;时,由于运用不熟练,编译错误了。
    A2:编译错误?
    Q2:对代码理解错误,导致出的编译错误。

    3.阅读代码

    3.1题目:递增顺序查找树

    给定一个树,按中序遍历重新排列树,使树中最左边的结点现在是树的根,并且每个结点没有左子结点,只有一个右子结点。
    

    3.2解题思路

    1.给定树中的结点数介于 1 和 100 之间。
    2.每个结点都有一个从 0 到 1000 范围内的唯一整数值。

    3.3代码截图

    3.4学习体会

    要熟练的掌握各种代码的操作并要熟悉他们,这样在做题的时候才会有思路,而且要保证代码的规范性,养成良好的习惯。

  • 相关阅读:
    nginx 下 bootstrap fa 字体异常问题
    centos7 & mysql
    ssh authentication魔鬼细节--.ssh文件夹权限
    python self introspection
    __getattr__ 与动态属性
    dict.items vs six.iteritems
    django ATOMIC_REQUESTS
    HDU 4309 Seikimatsu Occult Tonneru (状压 + 网络流)
    UVaLive 4064 Magnetic Train Tracks (极角排序)
    UVa 11645 Bits (暴力+组合数学)
  • 原文地址:https://www.cnblogs.com/20000519yxn/p/11028800.html
Copyright © 2011-2022 走看看