![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
Feriii
这个作者很懒,什么都没留下…
展开
-
多维数组
文章目录数组数组是什么?多维数组数组元素的地址计算数组数组是什么?《C primer plus》上面对数组的定义是:数组由数据类型相同的一系列元素组成。但由于这本书面向C语言入门读者,对于深入学习的我来说,不得不继续深入思考数组到底是什么,下面是我自己对于数组的认识:从数组ADT的逻辑结构来看:数组的逻辑结构是线性的,也就是说,数组元素之间的关系为线性关系。从数组数据元素的存储方面来看...原创 2019-10-17 12:37:48 · 721 阅读 · 0 评论 -
KMP模式匹配算法next数组值的推导详解
继上一篇关于模式匹配算法的博文,我想在这里在继续详细解说一下next数组和nextval数组值的推导。文章目录为什么需要next数组为什么需要next数组next数组到底是用于什么的?为什么要有next数组?在这里我们用next数组来记录模式串各个位置的j值变换。让我们用一个例子来说明上述概念:假设主串S=abcdefgab匹配串为T=abcdex如果我们按照BF模式匹配算法来处理...原创 2019-10-14 20:00:25 · 1745 阅读 · 0 评论 -
模式匹配算法
文章目录串运算的概念浅析串大小的比较:Brute-Force算法KMP算法KMP算法的改进串运算的概念浅析模式匹配:子串的定位操作被叫做串的模式匹配。串大小的比较:串相等:串长度相等且各个对应位置的字符都相等。当两个串不相等时,判断两个串大小的方法:给定两个串:S1 = “a1a2a3a4…an”和S2 = “b1b2b3b4…bm”,当满足以下条件之一时,S1<S2。n&l...原创 2019-10-13 21:04:01 · 701 阅读 · 2 评论 -
15,17,18级面试题总结
小组15,17,18级面试题总结c预处理器和c库一个程序从源代码到可执行程序的过程一 预编译1.删除所有的#define,展开所有的宏定义。2.处理所有的条件预编译指令,如“#if”、“#endif”、“#ifdef”、“#elif”和“#else”。3.处理“#include”预编译指令,将文件内容替换到它的位置,这个过程是递归进行的,文件中包含其他文件。4.删除所有的注释,“//...原创 2019-05-16 22:14:04 · 166 阅读 · 1 评论 -
epoll编程接口(上)
epollAPI是Linux系统专有的。epollAPI的核心数据结构称作epoll实例,它和一个打开的文件描述符相关。这个文件描述符不是用来做IO操作的,相反,它是内核数据结构的句柄,这些内核数据结构实现的目的有两个:记录了在进程中声明过的感兴趣的文件描述符列表维护了处于IO就绪状态的文件描述符列表epollAPI由以下三个系统调用组成:创建epoll实例:epoll_create(...原创 2019-08-07 17:11:11 · 200 阅读 · 1 评论 -
时间复杂度详解
一个程序的优劣主要取决于其运行时间,除去一些我们无法处理的因素(所使用的编译器,计算机的硬件配置)以外,剩下的最主要的因素则是所使用的算法以及对该算法的输入。那么一个算法的优劣我们应该如何评判呢?别着急,继续看下去。本片博文讲从一下几个方面来向大家说明什么是时间复杂度以及我们为什么需要时间复杂度:数学基础模型要分析的问题运行时间的计算运行时间中的对数数学基础估计算法资源消耗所...原创 2019-09-14 16:12:13 · 2477 阅读 · 0 评论 -
仿照redis源码的Adlist双端链表实现一个自己的双端链表(1)
文档均在代码中注释,解释请看代码#ifndef FERI_LIST_H#define FERI_LIST_H/*普通结点*/typedef struct feri_listnode { struct feri_listnode *pre; struct feri_listnode *nex; void *value;} feri_listnode;/*迭代器*/...原创 2019-09-14 21:20:48 · 128 阅读 · 0 评论 -
桶排序&&基数排序
如果我们有原创 2019-09-16 03:43:29 · 241 阅读 · 0 评论