题目: 给定两个有序链表的头指针head1和head2,打印两个链表的公共部分。 解答: 因为是有序列表,所以从两个链表的头开始进行如下判断: 如果head1的值小于head2,那么head1向下移动。 如果head1的值大于head2,那么head2向下移动。 如果二者的值相等,则打印这个值,然后...
分类:
编程语言 时间:
2016-03-07 12:11:23
阅读次数:
139
遇到一个让人迷惑的题目。 以下关于线性表采用链式存储时删除节点运算的描述,正确的是() A.带头结点的线性链表删除结点时,不需要更改头指针。 B.带头结点的线性链表删除第一个结点时,需要更改头指针。 C.不带头结点的线性链表删除结点时,需要更改头指针。 D.不带头结点的线性链表删除第一个结点时,不需
分类:
其他好文 时间:
2016-03-02 22:05:19
阅读次数:
192
链表概述 链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要开辟内存单元。链表有一个“头指针”变量,以head表示,它存放一个地址。该地址指向一个元素。链表中每一个元素称为“结点”,每个结点都应包括两个部分:一为用户需要用的实际数据,二为下一个结点的地址。因此,head
分类:
其他好文 时间:
2016-02-29 21:46:18
阅读次数:
258
//二叉查找树的定义,查询,插入,删除public class BSTree<T extends Comparable<T>>{ private BSTNode<T> mRoot;//定义根节点 //定义节点 private class BSTNode<T extends Comparable<T>
分类:
其他好文 时间:
2016-02-29 21:31:11
阅读次数:
242
原创文章,欢迎转载。转载请注明:关东升的博客对应可变字符串可以插入、删除和替换,String提供了几个方法可以帮助实现这些操作。这些方法如下:splice(_:atIndex:)。在索引位置插入字符串。insert(_:atIndex:)。在索引位置插入字符。removeAtIndex(_:)。在索引位置删除字符。..
分类:
编程语言 时间:
2016-02-29 20:03:32
阅读次数:
180
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好; 其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。 首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功; 否则利用中间位置记录将表分成前
分类:
编程语言 时间:
2016-02-28 19:51:29
阅读次数:
139
链表由多个节点构成,节点之间可以灵活的插入、删除。链表以结构体的自引用原理,可以在内存中以不连续的方式动态分配内存来存储数据,这样的结构体就是链表的一个节点。一个节点分为两个域:一个是数据域,一个是指针域,这方便链表在存储数据的同时可以方便地找到下一个节点..
分类:
编程语言 时间:
2016-02-28 01:04:40
阅读次数:
186
二者都属于一种数据结构 从逻辑结构来看 1. 数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费;数组可以根据下标直接存取。 2. 链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据
分类:
编程语言 时间:
2016-02-22 20:50:19
阅读次数:
231
题目:给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点。分析:删除结点可以从链表的头结点开始顺序遍历,发现某个结点的next指向要删除的结点时,将该结点的next指向要删除的下一个结点。但是基于这种思路,得到的时间复杂度是O(n)。删除结点只是让这..
分类:
其他好文 时间:
2016-02-19 14:33:06
阅读次数:
193
StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。 所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操
分类:
编程语言 时间:
2016-02-19 14:09:35
阅读次数:
152