DS博客作业07--查找

1.思维导图及学习体会

1.1 思维导图

1.2 学习体会 💪

  • 本章学习了查找的相关知识,介绍了线性表查找、树表查找和哈希表查找等。
  • 学习计算各种查找算法在成功和不成功情况下的的ASL。
  • 查找是一种基础操作也是重要的算法,不同情况下需要对应用不同的查找算法,但越学习各种查找算法也越容易混乱,在学习时要更加注意理解及相关代码的实现,多研究学习

2.PTA实验作业

2.1 二叉搜索树中的最近公共祖先

在一棵树T中两个结点u和v的最近公共祖先(LCA),是树中以u和v为其后代的深度最大的那个结点。现给定某二叉搜索树(BST)中任意两个结点,要求你找出它们的最近公共祖先。

2.1.1 设计思路

	定义变量 flag=0; 
    定义树类型 P;
	P=T;
	while(p)
		找节点u;
		if 树中没有u then
			返回ERROR;
		end if
	end while
    while(p)
		找节点v;
		if 树中没有v then
			返回ERROR;
		end if
	end while
    while(p)
    {
        if u,v都在左子树上 then
		    P = P->Left;
        if u,v都在右子树上 then
		    P = P->Right;
        else break;
    }
    return P->Key;

2.1.2 代码截图


2.1.3 PTA提交列表说明。

  • 刚开始,因为大小写,导致变量名不一致;
  • 各种情况没想周全,通过询问同学、参考同学代码,完成代码

2.2 QQ帐户的申请与登陆

2.2.1 设计思路

	申请STL容器<long long, string>QQ存放用户信息
	迭代器map<long long, string>::iterator iter;
	定义 新/旧号码ch, QQ号number, 密码password; 
	输入N;
	for i=0 to N
 		输入ch、number、password;
 	    	调用迭代器,查找map里面的是否有这个账号;
 		if ch为L then//旧号码
 	    	if QQ号存在 then
 	        	if 密码正确,输出"Login: OK";
                else 输出"ERROR: Wrong PW";
            end if
  	    	else 输出"ERROR: Not Exist";
  	    end if	
 		if ch为N then//新号码
 	       if QQ号存在,输出"ERROR: Exist";
 	       if QQ号不存在,添加号码信息,输出"New: OK";
 	    ennd if
	end for

2.2.2 代码截图


2.2.3 PTA提交列表说明。

  • 这道题目参考了同学的代码,采用了map容器存放用户信息,而且运用了迭代器查找账号

2.3 航空公司VIP客户查询

2.3.1 设计思路

	申请STL容器<string,int>mymap存放用户信息
	输入飞行记录条数N、最低里程K
	for i=0 to N
    	输入身份证号id、飞行里程mileage;
    	if 低于K公里按k公里累积 then
			mileage=K; //低于公里按公里累积	
		end if
    	if 有相同的身份证号 then
    		mymap[ id]+=mileage; //累积飞行里程
    	end if
    	else  mymap[ id]=mileage; //记录飞行里程
	end for

	输入M;
	for i=0 to M
    	输入查询人的身份证号id;
    	if 有此查询人 then
    		输出里程累计值;
    	end if
    	else 输出“No Info” 
	end for

2.3.2 代码截图

2.3.3 PTA提交列表说明。

  • 刚开始会运行超时,后来询问了同学后,将 cin、cout 改成 scanf、printf 就解决了问题

3.阅读代码

3.1 题目

  • 红黑树的建立

3.2 解题思路

root是根,node是被插入节点,将"node"节点插入到红黑树中,插入的时候将节点的颜色改变

3.3 代码截图

3.4 学习体会

这个是c语言代码,rbtree_insert(root, node)的作用是将"node"节点插入到红黑树中,实现插入的时候将节点的颜色改变,并且用递归方法调整了红黑树,十分巧妙,值得学习。

posted @ 2019-06-15 20:25  _TY  阅读(244)  评论(0编辑  收藏  举报