数据结构
文章平均质量分 89
猴子奔跑
这个作者很懒,什么都没留下…
展开
-
面试问题1 array与ArrayList的区别
参考博客:https://www.cnblogs.com/wqbin/p/11185400.html ArrayList内部是由一个array实现的。如果你知道array和ArrayList的相似点和不同点,就可以选择什么时候用array 或者使用ArrayList , array提供 O(1)的查找性能和很基本的方式去存储数据。ArrayList是Java集合框架类的一员,可以称它为一个动态数组。array是静态的,所以一个数据一旦创建就...转载 2021-03-11 11:35:14 · 1299 阅读 · 0 评论 -
腾讯面试题:快速找到未知长度单链表的中间结点
快速找到未知长度的单链表的中间节点普通方法就是遍历两次,第一次遍历得到链表长度,第二次遍历得到中间值。时间复杂度为1.5n。(这里需要强调1.5)快速链表方法就是利用两个指针,慢指针每次移动一个数据,快指针每次移动两个数据。最外层的循环用快指针。当快指针遍历完后,内层慢指针刚好循环到一半。时间复杂度为0.5n。代码如下:class GetMidVaule(LinkList L, elm...原创 2019-02-25 16:57:45 · 439 阅读 · 0 评论 -
数据结构——静态链表相关操作
转载地址对于没有指针的编程语言,可以用数组替代指针,来描述链表。让数组的每个元素由data和cur两部分组成,其中cur相当于链表的next指针,这种用数组描述的链表叫做静态链表,这种描述方法叫做游标实现法。我们对数组的第一个和最后一个元素做特殊处理,不存数据。让数组的第一个元素cur存放第一个备用元素(未被占用的元素)下标,而数组的最后一个元素cur存放第一个有值的元素下标,相当于头结点作用...转载 2019-02-26 12:50:38 · 159 阅读 · 0 评论 -
数据结构——双向链表
一、双向链表简介1、单链表的缺陷单链表只能从头结点开始访问链表中的数据元素,如果需要逆序访问单链表中的数据元素将极其低效。2、双向链表的结构双链表是链表的一种,由节点组成,每个数据结点中都有两个指针,分别指向直接后继和直接前驱。3、双向链表类的基本结构template <typename T>class DualLinkedList:public List&...转载 2019-02-26 14:34:55 · 486 阅读 · 0 评论