好用的数据结构

来源:互联网 发布:部落冲突怎么清除数据 编辑:程序博客网 时间:2024/04/28 04:01

    这是我第一次写博客!感觉好紧张阿!哈哈~~


     根据我的比较肤浅的理解呢!要用好数据结构  ,首先必须得要熟悉vector与list,最好要自己能实现这两种数据结构的基本功能。这应该是最起码的要求!

     

      然后最重要的就是树了,无论是二叉查找数,还是AVL树,还是一般的树,都应该要清楚的了解,也要自己试着实现树的基本功能,话说我去年学数据结构的时候在树这里可是花了好大的力气,基本的树结构我都自己成功实现了,感觉收获真的不小!


    有了树的知识,接下来要学堆,不相交集类,散列就轻松多了!不过还是得认真的学习,因为里面真的奥妙无穷!尤其是最优雅的优先队列和最神奇的散列,这么些个数据结构绝对会让我们感叹那些天才是有多么的了不起!哈哈!


    至于那些数据结构好用呢,我觉得首当其冲的应该是优先队列吧!至少我对它是情有独钟!在许许多多的贪心算法中都离不开这种优雅的数据结构!贪心算法就是靠他才能实现高效的,而且在排序的时候,运用堆排序也是极为简单而且高效!


    不过凡事都不能十全十美阿!优先队列的最大缺陷是不能实现高效的查找!当然,查找最大值除外!这是我们就需要利用二叉树 了,在STL里有给我们提供set与map两种极为有用的结构,在许许多多的查找中都能利用他们实现高效的算法!不过我本人用的也不怎么熟练,还要认真研究研究!

 

  当然!那些简单的数据结构也是非常具有利用价值的,比如stack,函数的递归调用就是用栈实现的,还有计算器的实现等等!利用空间非常大!当然!动态数组vector和list是写程序必须要用的!反正我自己写程序都是离不开这些基本数据结构的,有了他们,代码才能更清晰,才会更高效!


0 0
原创粉丝点击