java培训吧 关注:116,360贴子:396,806
  • 8回复贴,共1

Java、Python中没有指针,怎么实现链表、图等数据结构?

只看楼主收藏回复

Java、Python中没有指针,怎么实现链表、图等数据结构?


1楼2015-10-14 09:54回复
    设计者选择 31 这个值是因为它是一个奇质数。如果它是一个偶数,在使用乘法当中产生数值溢出时,原有数字的信息将会丢失,因为乘以二相当于位移。


    2楼2015-10-14 10:55
    回复
      广告
      立即查看
      如果是无向图,可以限定u<=v,避免浪费。
      如果u到v有多条边,那就是dict套dict套set,graph[u][v]={w0,w1..}
      如果要求存留边之间的或者节点之间的顺序关系,就把dict/set改为ordereddict。


      3楼2015-10-14 15:08
      回复
        java用类来代替了c,c++的结构体来实现节点,next变量就指向了下一个节点,其实作用跟指针一样的
        然后就是链表类
        public class LinkList<T> { private int linkSize; private Node<T> Header;//类似于头指针,如果是双向链表还可以定义尾指针 public LinkList() {......} public void add(T item) {.....} .......}


        5楼2015-10-14 15:09
        回复
          C/C++这样的语言比较接近早期抽象计算机数据的思维方式,指针其实就是我们抽象数据并且这个数据是聚合但是实际内存离散的胶合层产物。后来出的语言通过其他的方式来抽象数据表示,将指针这个概念隐藏了,显得友好了,但是其实他还在那。


          6楼2015-10-14 15:10
          回复
            有一些部门在play的基础上有用spring,有一些没有;有一些用到hibernate/mybatis,有一些只用了公司特有的数据库访问工具(支持分库分表,行缓存列缓存)。总的来说,每个部门的基础框架可能有细节上的不同。


            来自Android客户端7楼2015-10-14 15:18
            回复
              顶一个吧,看着挺不错的,有料,有资源,感觉是挺好的


              来自Android客户端8楼2015-10-14 15:23
              回复
                支持一下,询问楼主,c语言2级水平。对于java一点不了解,从哪开始学习呢


                来自Android客户端9楼2015-10-14 15:27
                回复
                  广告
                  立即查看
                  楼主,我支持的,既然决定了,那些打击你积极性的回复就不要在意了,不管他们处于好意还是别的,只要你自己决定做一件事了,就坚持住,最怕半途而废。加油,我这是和你一样,不过比你小两岁而已


                  10楼2015-10-14 15:31
                  回复