- 博客(5)
- 收藏
- 关注
原创 堆排序(C语言)
堆排序堆排序算法思路大根堆的建立过程和代码思想堆排序的过程堆排序的代码(大根堆)//堆排序大根堆 void heapAdjust(int A[],int k,int len){ A[0]=A[k]; for(int i=k*2;i<=len;i*=2){ if(i<len&&A[i]<A[i+1]){//别忘了i<len当i>=len时就没有右兄弟了。 i++; } if(A[0]>=A[i])break;//注意等
2021-09-12 20:00:44
283
原创 kmp算法及其优化
KMP算法及其优化为什么要使用kmp算法?传统的字符串模式匹配主串和字串的指针在不匹配时都要重复的进行回退。而有些回退的比较意义不大。这就造成了算法的效率不高。时间复杂度为o(mn)。而kmp算法恰恰就是为了解决这一个问题而产生的。在kmp算法中主串指针不必回退。而下一次用字串的哪个字符去匹配只与字串有关,与主串无关,这也就大大的提高了算法的效率,时间复杂度优化到了o(m+n)。kmp算法的灵魂(next数组)手算方式1(好理解方便做题的方式)也就是说无论字串是什么next[1]的值都是0;
2021-08-08 20:50:50
2485
2
原创 数据结构串的朴素模式匹配算法c语言实现
数据结构串的朴素模式匹配算法c语言实现#include<stdio.h>#include<stdlib.h>#define maxsize 100typedef struct { char data[maxsize]; int length;}string;void init(string &s){//初始化 s.length=0;} void create(string &s){ init(s); char x; printf("请
2021-08-05 17:53:42
467
1
原创 基于顺序栈的括号匹配问题C语言代码实现
基于顺序栈的括号匹配问题c语言代码实现#include<stdio.h>#include<stdlib.h>#define maxsize 10typedef struct { char data[maxsize]; int top;}stack; void initstack(stack &s){ s.top=-1;}bool ifempty(stack s){ if(s.top==-1) return true; else return f
2021-08-01 20:56:56
1113
原创 顺序表的初始化
顺序表的初始化顺序表的初始化主要是对当前顺序表长度的初始化,也可以给每个数据元素赋初值,如果不赋初值的话不要打印申请空间的全部元素。全部打印出来的话会出现之前内存中的脏数据。如果一定要打印的话就打印到length当前长度的位置。#include<stdio.h>#define maxsize 10 //定义最大长度typedef struct{ int data[maxsize];//静态分配存储空间 int length; //当前的长度 }SqList; void Ini
2021-07-21 21:15:18
11852
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人