什么是数据结构? 首先看看维基百科的定义:在计算机科学或信息科学中,数据结构(英语:data structure)是计算机中存储、组织数据的方式。通常情况下,精心选择的数据结构可以带来最优效率的算法。
课本中的定义:指一组相互之间存在一种或多种特定关系的数据的组织方式和它们在计算机中的存储方式,以及定义在该组数据上的一组操作。
有哪些内容? 直接看图了解数据结构的知识点,如下:
不管是算法还是逻辑结构,都是用数据说话的,所以要先明白了数据的基本概念。大的联系图中已给出,小的知识点需要我们去理解学习。
这篇博客主要讲一个好玩的知识点:喎?http://www.2cto.com/kf/ware/vc/ target=_blank class=keylink>vcd4kpggxprb+subk97hpwpo8l2gxpgo8cd4gicc4xctu0ns1xnaqyrayu9tz17jk9qossru2rrxdv8ns1m/iv7s/tmrpoapwsb3tzai5/dk7tcdm4r2yyp3w1rhpwpooz8jq8qos1tdq8qosuvpq8im1xmu8wrehozwvcd4kpha+icagytfpyli9zbzsu9xfo7o8l3a+cjxwpjxpbwcgc3jjpq==http://www.2cto.com/uploadfile/collfiles/20141010/2014101009203913.png alt=\>
例:一棵二叉树的先序遍历序列为abcfhidgje,中序遍历序列为ahifcjgdeb。
解题思路:
通过先序和中序或是中序和后序,都能唯一确定一颗二叉树。
每确定一个节点就把它从序列中暂时去除,这样就不会干扰下一步,帮助我们理清思路。
总结: 用一种自己理解的方式去做,就会发现其实不难。最近好几个人问过这个问题,总是做着做着就把自己绕进去了。其实这里只要知道三种遍历的规则,理清思路,就没问题啦!
这只是个人理解,有更好理解的欢迎交流学习!
