
数据结构与算法
文章平均质量分 55
数据结构和算法
rds.
代码需要沉淀。
展开
-
双指针-统计字符串中最长连续子串
给定一个字符串比如aaabbbbccccddddd,让统计最长的连续子串使用双指针算法# include<iostream># include<cstring>using namespace std ;int main(){ string s ; char ch ; cin >> s ; int maxn = 0 ; for(int i = 0 ; i < s.size() ; i ++) {原创 2022-01-06 12:08:42 · 473 阅读 · 0 评论 -
数据结构——kmp匹配
朴素做法先略过~假设在主串 i 之前都匹配一致,在主串 i + 1时s[i + 1]与p[ j ]突然不再匹配,如果是暴力做法的话需要把整个p串后移一位,但是由于我们已经匹配过一段长度了(ab段)这里面有很多额外的信息,通过这个我们可以进行优化现在我们来找在某一次匹配失败之后模板串最多往后移动多少它可以继续匹配可以看出铅笔所圈住的三处子串他们是相同的,所以要找的这个最多要移动多少只与它模板串自身有关,这个东西如果可以预处理出来就很棒,就可以省略很多不必要的匹配从而提高时间效率再.原创 2021-06-01 09:49:03 · 114 阅读 · 0 评论 -
归并排序
题目来源:acwing787题给定你一个长度为nn的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数nn。第二行包含nn个整数(所有整数均在1∼1091∼109范围内),表示整个数列。输出格式输出共一行,包含nn个整数,表示排好序的数列。数据范围1≤n≤100000我的答案:#include<stdio.h>const int N = 100...原创 2021-04-21 22:35:29 · 127 阅读 · 0 评论 -
选择问题(冒泡排序法解决)C语言实现
题目如下:编写一个程序解决选择问题,令 k = N/2设一组有N个数而要确定其中的第k个最大者 ,我们称之为选择问题代码如下:# include <stdio.h># include <stdlib.h>/*编写一个程序解决选择问题,令 k = N/2,计算出不同值的运行时间设一组有N个数而要确定其中的第k个最大者 ,我们称之为选择问题 */int select(int *a,int a_len,int k);//传入数组名(指针)、数组大小..原创 2021-04-17 19:02:05 · 811 阅读 · 1 评论 -
数据结构-图
图的存储结构邻接矩阵存储无向图邻接表存储带权有向图十字链表邻接多重表图的遍历深度优先遍历DFS对于邻接矩阵存储法对于邻接表存储法骑士周游问题(马踏棋盘问题)广度优先遍历BFS最小生成树prim普里姆算法kruskal 克鲁斯卡尔算法最短路径Dijkstra 迪杰斯特拉算法Floyd弗洛伊德算法拓扑排序原创 2021-12-02 19:13:20 · 1297 阅读 · 0 评论 -
数据结构-栈和队列
栈的顺序存储结构1(非数组方法)栈实现二进制到十进制的转换栈实现逆波兰计算器(十以内加减乘整除)中缀表达式转换为后缀表达式,在使用逆波兰计算器输出队列的链式存储实现和顺序存储实现原创 2021-11-30 18:17:58 · 735 阅读 · 0 评论 -
数据结构-线性表
内容:数据结构线性表:包括顺序表实现集合合并,线性表链式存储结构,单链表,静态链表,如何快速取得单链表的中间结点,单向循环链表,约瑟夫环问题,两个单向循环链表的合并,判断链表是否有环,魔术师发牌问题,拉丁方正问题,双向循环链表原创 2021-11-28 14:19:41 · 413 阅读 · 0 评论