一、学习总结
1.1查找的四位导图
1.2查找学习体会
查找包括三大块:线性表查找,树表查找,哈希查找。算法也多用递归。
map是STL的一个关联容器,它提供一对一(第一个称为关键字,第二个称为关键字的值)的数据处理能力。例如:map<int,string>student,学生姓名与学号之间就存在一一映射关系。
2.PTA实验作业
2.1题目一:6-2 是否二叉搜索树
2.2设计思路
2.3代码截图
2.4PTA提交说明
2未解决,3只有一个节点是二叉树,4空树是二叉树。
题目二:7-1 QQ帐户的申请与登陆
设计思路
代码截图
PTA提交列表说明
没有用c++出现编译错误
题目三:7-2 航空公司VIP客户查询
伪代码
代码截图
PTA提交列表说明
0航班记录中可能存在两次或两次以上乘客记录,要把每条记录都相加,每次飞行里程小于500都算作500;
1,2未解决。
三、截图本周题目集的PTA最后排名
3.1.PTA排名
3.2我的总分
2分
四、阅读代码
/*
将结点插入到红黑树中
root 红黑树的根结点
node 插入的结点
*/
template <class T>
void RBTree<T>::insert(RBTNode<T>* &root, RBTNode<T>* node)
{
RBTNode<T> *y = NULL;
RBTNode<T> *x = root;
// 1. 将红黑树当作一颗二叉查找树,将节点添加到二叉查找树中。
while (x != NULL)
{
y = x;
if (node->key < x->key)
x = x->left;
else
x = x->right;
}
node->parent = y;
if (y!=NULL)
{
if (node->key < y->key)
y->left = node;
else
y->right = node;
}
else
root = node;
// 2. 设置节点的颜色为红色
node->color = RED;
// 3. 将它重新修正为一颗二叉查找树
insertFixUp(root, node);
}
/*
将结点(key为节点键值)插入到红黑树中
tree 红黑树的根结点
key 插入结点的键值
*/
template <class T>
void RBTree<T>::insert(T key)
{
RBTNode<T> *z=NULL;
// 如果新建结点失败,则返回。
if ((z=new RBTNode<T>(key,BLACK,NULL,NULL,NULL)) == NULL)
return ;
insert(mRoot, z);
}