- 博客(9)
- 收藏
- 关注
原创 KMP算法详解
学好KMP算法,关键点有三点,一是知道什么是前缀和后缀最长相等长度;二是理解KMP算法流程,三是求解next数组。一、什么是前缀和后缀最长相等长度首先给定一个字符串absabs。下面介绍前缀和后缀前缀就是以第一个字符开始,一共能找出多少种和本身不一样的字符串。所以abbsabbs的前缀有a、ab、abs、absa、absab;不计算本身,所以共五种。后缀是以最后一个字符结尾,一共有多少种和本身不一样的字符串。此处后缀有s、bs、abs、sabs、bsabs五种。所以前缀和后缀中最长的长度就是当前
2022-03-27 17:14:35
12415
2
原创 详细解释堆排序流程
掌握堆排序的主要步骤分为两个点,首先第一步要学会如何建堆(大根堆或者小根堆,此处我以大根堆为例),第二步如何将一个建好的堆进行排序。一、建堆建大根堆void heap_Insert(vector<int>& heap, int index) { while (heap[index] > heap[(index - 1) / 2]) {//如果孩子比父亲大 Swap(heap, index, (index - 1) / 2);//交换父子节点 index =
2022-03-25 00:23:22
1223
原创 快排C++
快排的核心思想是在无序数组中随机选择一个作为基准值,就是把它作为比较的基准,将比它小的放到左边,比它大的放到右边,和他相等的放中间。然后再对小于区域和大于区域进行递归就可实现有序排列#include<iostream>#include<vector>#include<time.h>using namespace std;void Swap(vector<int>&, int, int);vector<int> helan_F
2022-03-19 23:20:11
1453
原创 如何在NS2中安装SourceInsight?
我是想在ns2通过SI看源码,我在下载SI的过程中遇到各种各样的问题,我就想把我遇到的问题全部列出来,大家按照需要去找方法就好啦。一、安装wine因为SourceInsight是不支持在linux系统下下载的,因此要想在linux中使用SI,需要用到wine这个软件,它可以实现在linux系统下使用windows软件。进入Ubuntu系统,在终端输入以下命令:sudo apt-get install wine如果运气好可能直接就可以安装,但是楼主在执行上述语句之后出现了下面这个问题:
2022-02-24 20:44:37
224
原创 如何理解结构体指针?
大家学过数据结构的应该知道链表都需要用一个结构体进行定义。楼主在学到链表这一章的时候,被这个结构体以及结构体指针弄得有点晕,因此想跟大家分享一下我的理解。用数据结构中的链表的定义来举例:...
2021-12-16 23:12:46
2340
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人