随笔分类 - Java
摘要:递归是一种比较绕的算法,这是因为它通常在我们肉眼所见的范围内无法完成调用。迄今为止,我们学习的数组、链表等,实现的代码都是从上至下依次执行的,即便会有循环,但也是在可控范围内进行的操作。而递归却有一种无法掌控的感觉,跑着跑着就不知道去哪了。初学这种算法的同学,经常会陷入一层层的调用中,搞得头脑发晕,
阅读全文
摘要:之前我们学习了动态数组,虽然比原始数组的功能强大了不少,但还不是完全纯动态的(基于静态数组实现的)。这回要讲的链表则是正儿八经的动态结构,是一种非常灵活的数据结构。 链表的基本结构 链表由一系列单一的节点组成,将它们一个接一个地链接起来,就形成了链表。链表虽然没有长度上的限制,但是节点之间需要储存关
阅读全文
摘要:之前我们学习了动态数组的实现,接下来我们用它来实现两种数据结构——栈和队列。首先,我们先来看一下栈。 一、什么是栈? 栈是计算机的一种数据结构,它可以临时存储数据。那么它跟数组有何区别呢? 我们知道,在数组中无论添加元素还是删除元素,都可以根据索引位置或值进行操作,栈是否也支持这样的操作呢?答案是不
阅读全文
摘要:静态数组 Java中最基本的数组大家肯定不会陌生: int[] array = new int[6]; for (int i = 0; i < array.length; i++){ array[i] = 2 * i + 1; } 通过循环把元素放入指定的位置中,类似于这样: 这是一个静态数组,因为
阅读全文