
数据结构与算法分析
Data Structures and Algorithm Analysis
in c & cpp & swift & objective-c
TuTuᜊ
芝兰生于空谷,不以无人而不芳。
展开
-
E - XOR and Favorite Number【莫队】
E - XOR and Favorite Number【莫队】原创 2019-07-25 19:44:51 · 176 阅读 · 0 评论 -
B - Div Times Mod【枚举】
B - Div Times Mod【枚举】原创 2019-07-26 10:21:54 · 219 阅读 · 1 评论 -
两个视频搞懂KMP字符串匹配(详细代码)【C++】
两个视频搞懂KMP字符串匹配(详细代码)【C++】 KMP算法讲解1 KMP算法讲解2 #include <map> #include <set> #include <unordered_map> #include <unordered_set> #include <cmath> #include <vector> #include <string> #include <cctype> #include <原创 2020-09-15 20:21:16 · 213 阅读 · 0 评论 -
堆串基础【C语言】
堆串基础【C语言】 题目: 实现堆串的建立、插入、删除、显示。 时间复杂度为O(n) 空间复杂度为O(1) 代码: 运行情况: Copyright © 2019 wyq. All rights reserved. ...原创 2019-12-06 21:26:23 · 609 阅读 · 1 评论 -
最大字符平台【C语言】
最大字符平台【C语言】 题目: __对于一个字符串S,输出其最大字符平台的起始位置及所包含的字符。 注意:最大字符平台有可能不止一个。 例如: 字符串:aabcbbbbdccccaaa 其最大字符平台为:bbbb、cccc __ 时间复杂度为任意 空间复杂度为仁矣 代码: 运行情况: Copyright © 2019 wyq...原创 2019-12-06 19:02:00 · 1968 阅读 · 1 评论 -
块链串的插入与删除操作【C语言】
块链串的插入与删除操作【C语言】 题目: __S是用结点大小为4的单链表存储的串,试实现: (1)在第k个字符后插入串T (2)从第k个字符删除len个字符 __ 时间复杂度为任意 空间复杂度为任意 代码: 运行情况: Copyright © 2019 wyq. All rights reserved. ...原创 2019-12-05 21:08:45 · 1945 阅读 · 6 评论 -
最长公共子串LCS【C语言】
最长公共子串【C语言】 题目: 求顺序串S和顺序串T的一个最长公共子串。 时间复杂度为任意 空间复杂度为任意 代码: 运行情况: Copyright © 2019 wyq. All rights reserved. ...原创 2019-12-01 21:49:20 · 480 阅读 · 0 评论 -
Bruce-Force算法与KMP算法匹配【C语言】
Bruce-Force算法与KMP算法的匹配过程【C语言】 题目: __令主串为aaabbbababaabb,子串为abaa,试分别用Bruce-Force算法和KMP算法给出其匹配过程。 __ 时间复杂度为O(n) 空间复杂度为O(1) 代码: 运行情况: Copyright © 2019 wyq. All rights ...原创 2019-11-30 21:09:23 · 2005 阅读 · 2 评论 -
顺序串替换【C语言】
顺序串替换【C语言】 题目: __编写一个函数将顺序串s1中的第i个字符到第j个字符之间的字符用顺序串s2串代替。 __ 时间复杂度为任意 空间复杂度为任意 代码: 运行情况: Copyright © 2019 wyq. All rights reserved. ...原创 2019-11-30 18:30:31 · 2127 阅读 · 0 评论 -
定长顺序串【C语言】
定长顺序串【C语言】 题目: 用定长顺序串编写下列算法 1.将顺序串r中所有值为ch1的字符转换成ch2的字符。 2.将顺序串r中所有字符按照相反次序仍存放在r中。 3.从顺序串r中删除其值等于ch的所有字符。 时间复杂度为任意 空间复杂度为任意 代码: /*4*/ #include <stdio.h> #include <stdlib...原创 2019-11-27 21:38:49 · 3682 阅读 · 6 评论 -
循环链表拆分【C语言】
循环链表拆分【C语言】 题目: 将一个循环链表表示的稀疏多项式分解成两个多项式,使得这两个多项式中各自仅含奇数项或者偶数项 时间复杂度任意 空间复杂度为O(1) 代码: /*10*/ #include <stdio.h> #include <stdlib.h> #define elemtype int int num=0; type...原创 2019-11-25 20:24:37 · 1862 阅读 · 0 评论 -
双向链表反转【C语言】
双向链表反转【C语言】 题目: 实现双向链表的反转 时间复杂度为O(n) 空间复杂度为O(1) 代码: /*9*/ #include <stdio.h> #include <stdlib.h> #define elemtype int int num=0; typedef struct dNode { elemtype da...原创 2019-11-25 20:05:01 · 1600 阅读 · 2 评论 -
单链表调整【C语言】
单链表调整【C语言】 题目: 单链表(a1,a2,a3,a4,…,an) 要求将该单链表调整成如下结构 (an,an-2,…,a4,a2,a1,a3, …,an-3,an-1) 时间复杂度为O(n) 空间复杂度为O(1) 代码: /*8*/ #include <stdio.h> #include <stdlib.h> #define...原创 2019-11-25 19:57:22 · 498 阅读 · 0 评论 -
单链表反转【C语言】
单链表反转【C语言】 题目: 给定一个单链表,给定两个整数left、right,将该链表的第left和第right个节点反转 时间复杂度为O(n) 空间复杂度为O(1) 代码: /*7*/ #include <stdio.h> #include <stdlib.h> #define elemtype int int num=0; t...原创 2019-11-25 19:28:15 · 705 阅读 · 0 评论 -
单链表倒数查找【C语言】
单链表倒数查找【C语言】 题目: 建立一个单链表L,已知节点的data域为int,请设计一个尽可能高效的算法,查找链表倒数第K个位置的节点,并返回该节点的data域。 代码: /*6*/ #include <stdio.h> #include <stdlib.h> #define elemtype int int num=0; typedef s...原创 2019-11-21 15:50:55 · 573 阅读 · 0 评论 -
单链表基础【C语言】
单链表【C语言】 题目: 编写一个由多个函数构成的完整程序,实现单链表的初始化、建立、按照内容查找、插入节点、删除节点、显示整个链表的操作。 代码: /*5*/ #include <stdio.h> #include <stdlib.h> #define elemtype char typedef struct Node { elemty...原创 2019-11-21 15:46:15 · 338 阅读 · 0 评论 -
顺序表删除多余元素【C语言】
顺序表删除多余元素【C语言】 题目: 建立一个非递减的顺序表L,已知顺序表L中的元素为int,请编写一个算法,删除所有值相等的多余元素。 时间复杂度为O(n) 空间复杂度为O(1) 代码: /*3*/ /*时间复杂度过大*/ #include <stdio.h> #include <stdlib.h> #define maxsize...原创 2019-11-21 15:36:21 · 2313 阅读 · 2 评论 -
顺序表奇偶排序【C语言】
顺序表奇偶排序【C语言】 题目: 建立一个顺序表,已知顺序表L中的元素为int,请写一时间复杂度O(n)、空间复杂度为O(1)的程序,将L中的奇数元素排在前面,偶数元素排在后面。 代码: /*2*/ #include <stdio.h> #include <stdlib.h> #define maxsize 100 #define elemtyp...原创 2019-11-20 21:49:48 · 2323 阅读 · 0 评论 -
顺序表基础【C语言】
编写一个由多个函数构成的完整程序,实现顺序表的建立、按照内容查找、插入、删除、显示操作。 /*1*/ #include <stdio.h> #include <stdlib.h> #define maxsize 100 #define elemtype int typedef struct { elemtype elem[maxsize]; int last...原创 2019-11-20 21:10:40 · 413 阅读 · 3 评论