单链表,线性表的链式存储结构,逻辑相邻,物理位置不相邻 描述如下 数据域data存储数据,指针域 next 使得链表逻辑相邻; 头指针L指向链表表头,包含头节点链表的表头是一个空数据域节点,不包含表头链表表头即是第一个元素。 单链表的插入分为两种形式,栈式插入(先进链表的在最后面)队列式插入(先进链 ...
分类:
其他好文 时间:
2017-08-24 22:39:52
阅读次数:
156
栈(stack)代表一种特殊的线性表,这种线性表只能在固定一端(通常是尾端)进行插入、删除操作。 进栈:1)让top引用指向新添加的元素,新元素的next引用指向原来的栈顶元素; 2)让记录栈内元素个数的size变量加1. 出栈:1)让top引用指向原栈顶元素的下一个元素,并释放原来的栈顶元素; 2 ...
分类:
编程语言 时间:
2017-08-23 19:06:42
阅读次数:
139
问题1:插入/删除字符使得原字符串变成一个回文串且代价最小 poj 3280 Cheapest Palindrome 题意:给出一个由m中字母组成的长度为n的串,给出m种字母添加和删除花费的代价,求让给出的串变成回文串的代价。 Sol: 插入和删除等价,因此只需要保留 min(插入代价,删除代价)作 ...
分类:
其他好文 时间:
2017-08-23 10:38:30
阅读次数:
258
一.适用情形 二分查找,又称折半查找,优点是比较次数少,查找速度快,平均性能好; 其缺点是要求待查表为有序表,且插入删除困难。 因此,折半查找方法适用于不经常变动而查找频繁的有序列表。 二.Java语言对二分查找的实现 1.循环方式实现 2.递归方式实现 3.JDK中的实现(java.util.Ar ...
分类:
其他好文 时间:
2017-08-23 00:39:13
阅读次数:
98
说明:本文仅供学习交流。转载请标明出处。欢迎转载! 题目:存在一个单链表,头指针为head,实现单链表的反转Node *Reverse(Node *head)。 该算法的求解办法有非常多,如: 方法1:先顺序变量单链表,将结点保存到栈中,在从栈中弹出结点,又一次建立一个新的单链表; 方法2:用《剑指 ...
分类:
编程语言 时间:
2017-08-20 16:52:50
阅读次数:
187
编辑距离Edit Distance:从字符串a变到字符串b,所需要的最少的操作步骤(插入I,删除D,更改)为两个字符串之间的编辑距离。这也是sam文档中对NM这个tag的定义。编辑距离是对两个字符串相似度的度量(参见文章:Edit Distance http://www.cnblogs.com/li ...
分类:
Web程序 时间:
2017-08-19 20:18:58
阅读次数:
384
read()会让你读取的光标变成最后。 tell()把你现在文件的句柄的指针打印出来。文件的开头指针位置是0 72的意思代表字符的个数。下面的例子,只读取5个字符串个数: 如果你想把光标移回去,移动到首位f.seek(0) f.detach()在文件还没关闭之前,把文件编码从GBK改成UTF-8 f ...
分类:
其他好文 时间:
2017-08-19 20:04:36
阅读次数:
168
题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 1 递归 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链 ...
分类:
其他好文 时间:
2017-08-19 18:34:25
阅读次数:
129
编写程序: 1. 创建商品信息表Goods(包含编号Code、名称Name、数量Number、单价Price) 2. 设计程序流程,由用户选择:插入、删除、修改、查询 程序效果如下: (1)根据提示输入:1.插入 2.删除 3.修改 4.查询 (2)如果用户选择1. 则提示用户输入商品的编号、名称、 ...
分类:
数据库 时间:
2017-08-18 13:31:35
阅读次数:
245
顺序表简介 特点:使用一组地址连续的存储单元依次存储表中的数据元素,常见的就是使用数组去实现。 表中逻辑相邻的数据元素,在物理内存上也相邻。 顺序表中的任意数据元素都可随机访问,是一种支持随机访问,长度自动动态调整的线性表结构。 优点:访问表中的元素很快,时间复杂度为O(1) 缺点:插入,删除元素需 ...
分类:
其他好文 时间:
2017-08-17 23:34:57
阅读次数:
291