选择排序(假设递增排序)
每次选取从当前结点到末尾结点中最小的一个与当前结点交换,每一轮固定一个元素位置。
时间复杂度O(n^2),空间复杂度O(1)。下面的示例代码以带头结点的链表为存储结构:
#include
#include
#define Elemtype double
struct Node
{
Elemtype data;
struct Node *next;
};
void...
分类:
编程语言 时间:
2014-10-10 21:50:04
阅读次数:
225
题目大意:
用集合A中的串构造出一个串,使之让更多的setB中的串成为他的子串。
思路分析:
和
Codeforces 86C 差不多。
不过这里是要用A中的构造。
先用A 和 B的串构造一个自动机。然后对于A集合的尾结点给出一个最大后缀匹配,对于B集合的尾结点给一个权值。
dp[i][j][k] 表示已经构造出来了一个长度为i的串,现在走到了自动机的j结点,i长度后面有k...
分类:
其他好文 时间:
2014-10-03 17:13:14
阅读次数:
227
题意:给定一个单链表,判断该链表中是否存在环,如果存在,返回环开始的节点
思路:
1.定义两个指针,快指针fast每次走两步,慢指针s每次走一次,如果它们在非尾结点处相遇,则说明存在环
2.若存在环,设环的周长为r,相遇时,慢指针走了 slow步,快指针走了 2s步,快指针在环内已经走了 n环,
则有等式 2s = s + nr => s = nr
3.在相遇的时候,另设一个每次走一步的慢指针slow2从链表开头往前走。因为 s = nr,所以两个慢指针会在环的开始点相遇
复杂度:时间O(n)
struct...
分类:
其他好文 时间:
2014-08-30 23:07:40
阅读次数:
187
总结:其实就是反转链表。不过是反转中间一部分。要注意的是保存第一个结点的前继的指针; 若第一个结点是头结点,注意反转子串的尾结点变为头结点。
分类:
其他好文 时间:
2014-08-25 01:07:43
阅读次数:
198
1.队列的单向链表的实现方法
return只可以返回一个值,单向循环链表来实现队列的时候可以只保留一个指针,因为保留rear指针能够很方便的表示出front指针,所以保留rear指针。
另外由于链表的第一个结点处理比较特殊,所以在初始化的时候需要单独处理。链表实现的队列思想也是第一个单元作为头结点,不存放数据,rear指针指向的总是尾结点(在循环链表中也就是头结点的上一个结点)。
2.实现方...
分类:
其他好文 时间:
2014-08-04 21:47:48
阅读次数:
233
问题:交换相邻的两个结点分析:建立新链表每次插入ret->next后在插入ret,需要在判断下若最后只有一个结点不需要交换,注意每次交换了结点要把尾结点的下一个指向空class Solution {public: ListNode *swapPairs(ListNode *head) { ...
分类:
其他好文 时间:
2014-08-02 18:16:13
阅读次数:
178
问题:将有序链表中的重复元素删除分析:由于有序,所以p结点是否重复只需要和它的前一节点比较是否相等就可以了,我们可以定义一个helper新头结点链表 将p结点与新链表的尾结点比较,若不相等则加入新链表中。class Solution{public: ListNode *deleteDup...
分类:
其他好文 时间:
2014-08-02 17:47:33
阅读次数:
210
题目:给定链表的头指针和一个结点指针,在O(1)时间删除该结点。具体思路:把头结点的数据直接copy到要删除的结点处,然后头指针向后移动一个结点,再free掉原来的头指针指向的结点,这样等于把要删除的结点删除了。当链表只有一个结点或者要删除的结点是头结点或尾结点时,这种方法也是成立的,所以不需要做特...
分类:
其他好文 时间:
2014-07-25 13:54:31
阅读次数:
204
1.关于本文 文中描述的是一个学习List类过程中写的程序,程序中进行了以下步骤 1)创建list<string> 2)调用函数push_front和push_back添加元素 3)调用迭代器遍历list 4)调用函数front和back查找首尾结点 5)调...
分类:
编程语言 时间:
2014-07-22 09:03:06
阅读次数:
359
O(1)时间内删除结点的思路只能是复制该结点下一个结点的数据,然后删除该结点的下一个结点,来等效删除此结点。需要注意的地方是删除头结点和尾结点的处理。 1 #include 2 #include 3 #include 4 typedef struct Node 5 { 6 int da...
分类:
其他好文 时间:
2014-06-15 17:05:10
阅读次数:
107