浙大数据结构mooc知识点总结

数据结构

线性结构

线性表

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

堆栈

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

队列

浙大数据结构mooc知识点总结

树的定义

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

二叉树及存储结构

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

n0+n1+n2=0*n0+1*n1+2*n2+1化简得n0=n2+1

二叉树的遍历

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

后序遍历:对于任一结点P,将其入栈,然后沿其左子树一直往下搜索,直到搜索到没有左孩子的结点,此时该结点出现在栈顶,但是此时不能将其出栈并访问, 因此其右孩子还为被访问。所以接下来按照相同的规则对其右子树进行相同的处理,当访问完其右孩子时,该结点又出现在栈顶,此时可以将其出栈并访问。这样就 保证了正确的访问顺序。可以看出,在这个过程中,每个结点都两次出现在栈顶,只有在第二次出现在栈顶时,才能访问它。因此需要多设置一个变量标识该结点是 否是第一次出现在栈顶。

void postOrder2(BinTree *root)    //非递归后序遍历
{
    stack<BTNode*> s;
    BinTree *p=root;
    BTNode *temp;
    while(p!=NULL||!s.empty())
    {
        while(p!=NULL)              //沿左子树一直往下搜索,直至出现没有左子树的结点 
        {
            BTNode *btn=(BTNode *)malloc(sizeof(BTNode));
            btn->btnode=p;
            btn->isFirst=true;
            s.push(btn);
            p=p->lchild;
        }
        if(!s.empty())
        {
            temp=s.top();
            s.pop();
            if(temp->isFirst==true)     //表示是第一次出现在栈顶 
             {
                temp->isFirst=false;
                s.push(temp);
                p=temp->btnode->rchild;    
            }
            else                        //第二次出现在栈顶 
             {
                cout<<temp->btnode->data<<" ";
                p=NULL;
            }
        }
    }    
}

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

由两种遍历序列确定二叉树,必须要有中序遍历才行。

浙大数据结构mooc知识点总结

判别二叉树同构

给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

二叉搜索树

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

平衡二叉树

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

完全二叉树实现的优先队列

哈夫曼树

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

并查集

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

如何表示图

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

图的遍历

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

最短路径问题

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

最小生成树MST

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

拓扑排序

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

排序

简单排序

稳定性:任意两个相等的数据,排序前后的相对位置不发生改变

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

希尔排序

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

堆排序

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

归并排序

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

快速排序

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

基数排序

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

排序算法比较

浙大数据结构mooc知识点总结

散列

散列表

浙大数据结构mooc知识点总结

散列函数的构造

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

冲突处理方法

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

散列表的性能分析

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结

浙大数据结构mooc知识点总结