数据库与数据结构
曲奇^
这个作者很懒,什么都没留下…
展开
-
Day04_ArrayList&&Vector&&LinkedList
继续昨天讲的第四道练习: 反转单链表 用递归的方式 /* 反转单链表 */ public class Ex1 { public static Node reverse(Node head) { // 边界条件 if(head == null || head.next == null) return head; // 反转head.next Node reversed = reverse(head.next); /原创 2020-06-18 00:39:04 · 84 阅读 · 0 评论 -
Day03_数组&&链表
接着昨天的数组继续: 数组的基本操作 链表 循环链表我们用的一般比较少,但是当处理的数据具有环形结构时,就特别适合用循环链表,比如约瑟夫问题。 接下来我们讨论下单链表和双向链表。 单链表: 增加(在某个结点后面添加) 删除(在某个结点后面删除) 查找 a. 根据索引查找元素 b. 查找链表中与特定值相等的元素 ①元素大小有序 ②元素大小无序 总结:链表增删快,查找慢。 双向链表: 很容易验证,前面那些操作,双向链表和单链表的时间复杂度是一样的。那为什么在工程上,我们用的一般是双向链表而不是单链表原创 2020-06-16 17:32:31 · 68 阅读 · 0 评论 -
Day02_Iterator&&List&&数组
接着昨天的Collection继续: Object[] toArray() 将集合转换成数组 public class CollectionDemo1 { public static void main(String[] args) { Collection c = new ArrayList(); c.add("hello"); c.add("world"); c.add("java"); Object[]原创 2020-06-13 22:45:03 · 108 阅读 · 0 评论 -
Day01_Collection
正式讲课之前,我们先来搞明白三个小问题: 为什么需要集合类? 很多情况下,我们需要对一组对象进行操作。而且很可能事先并不知道到底有多少个对象。为了解决这个问题呢,Java 就提供了集合类供我们使用。 集合类的特点 a. 只能存储引用数据类型 b. 可以自动地调整自己的大小 数组和集合类都是容器,它们有何不同? a. 数组可以存储基本数据类型的数据,集合不可以。 b. 数组的长度是固定的,集合可以自动调整自己的大小。 c. 数组的效率高,相对来说集合效率比较低。 d. 数组没有API,集合有丰富的原创 2020-06-11 23:19:14 · 97 阅读 · 0 评论