• 机试二


    数据结构在机试中的应用

    一、栈的应用:

      1、栈的特点:

        先进先出,只能在栈尾进行插入和删除操作。

      2、stl标准库:

        stack<int> s;

        s.push(i);//向栈中压入一个元素。

        int x=s.top();//读取栈顶的元素

        s.pop()//弹出栈顶元素

        标准模板库:

        #include<stack>

      3、应用:

        (1)括号匹配:  

        (2)简单计算器:

    二、哈夫曼树:

      1、构造哈夫曼树:

        思想:

          (1)将所有的节点放入集合K中。

          (2)取出集合中节点值最小的两个,相加构成新的节点。并将该节点加入到集合k中。然后循环1、2步。

          (3)若K中仅剩下一个节点,则构造完成。该节点的值即为当前的带权路径和。

      2、数据结构:

        我们使用堆得数据结构。可以使用stl中的标准模板--优先队列来实现。

        priority_queue<int> Q;

        上面默认建立大顶堆。

        建立小顶堆:

        priority<int vector<int>,greater<int>> Q;

        有关操作:

          q.push(x);

          q.top();

          q.pop()。

        所在库:

          #include<queue>

    三、二叉树:

      1、

     

     

     

     

     

    四、二叉排序树:

      1、

     

     

     

     

     

  • 相关阅读:
    【leetcode】590. N-ary Tree Postorder Traversal
    【leetcode】589. N-ary Tree Preorder Traversal
    【leetcode】402. Remove K Digits
    【leetcode】42. Trapping Rain Water
    【leetcode】32. Longest Valid Parentheses
    【leetcode】870. Advantage Shuffle
    【leetcode】22. Generate Parentheses
    BEC translation exercise 2
    New Concept English three (50)
    BEC translation exercise 1
  • 原文地址:https://www.cnblogs.com/monty12/p/9458777.html
Copyright © 2020-2023  润新知