数据结构
轩辕小猪
这个作者很懒,什么都没留下…
展开
-
c++模板与STL库介绍
概论C++ 语言的核心优势之一就是便于软件的重用。C++中有两个方面体现重用:面向对象的思想:继承和多态,标准类库泛型程序设计(generic programming) 的思想:模板机制,以及标准模板库 STL泛型程序设计泛型程序设计,简单地说就是使用模板的程序设计法。将一些常用的数据结构(比如链表,数组,二叉树)和算法(比如排序,查找)写成模板,以后则不论数据结构里放的是什么...原创 2020-02-08 22:27:06 · 170 阅读 · 0 评论 -
线性表
一.简单介绍 线性表是一种典型的数据结构, 线性结构的基本特点是线性表中的数据元素是有序且有限的, 在线性结构中, 有且仅有一个被称为"开始数据元素"和一个"最后数据元素", 除了开始数据元素没有直接前驱, 最后一个数据元素没有直接后继外, 其余的数据元素有且仅有唯一的一个直接前驱和直接后继。对线性表比较详细的介绍。https://www.cnblogs.com/mr-wid/archive...原创 2018-07-02 20:40:07 · 530 阅读 · 0 评论 -
模式匹配算法:KMP算法
一.基本概念:真前缀指的是除了本身以外字符串全部头部的组合,真后缀指的是除了本身以外字符串全部尾部的组合。二.简单的模式匹配算法按照正常的思维,字符串可以进行暴力匹配,代码如下。int index_BF(string s,string p){ int i = 0; int j = 0; int s_len = s.size(); int p_len = p.size(); while(i...原创 2018-07-03 16:08:33 · 480 阅读 · 0 评论 -
二叉树和非二叉树
二叉树的递归遍历概述对于二叉树T,可以递归遍历它的先序遍历,中序遍历和后序遍历。 PreOrder(T)=T的根结点+PreOrder(T的左子树)+PreOrder(T的右子树) InOrder(T) = InOrder(T的左子树)+T的根结点+InOrder(T的右子树) PostOrder(T) = PostOrder(T的左子树)+PostOrder(T的右子树)+根结...原创 2018-08-10 14:09:28 · 1456 阅读 · 0 评论