数据结构

C++STL之Priority_queue(优先队列)

C++STL之Priority_queue(优先队列)1.简介优先队列是一种极其特殊的队列,他与标准的队列使用线性结构进行计算不同,优先队列的底层是以散列的状态(非线性)表现的,他与标准的队列有如下的区别,标准的队列遵从严格的先进先出,优先队列并不遵从标……

分块查找算法介绍与实现

分块查找算法介绍与实现1.算法简介分块查找是折半查找和顺序查找的一种改进方法,分块查找由于只要求索引表是有序的,对块内节点没有排序要求,因此特别适合于节点动态变化的情况,其核心有二索引表,二是分块处理。分块查找要求把一个大……

C++中string字符串类型介绍

C++中string字符串类型介绍1.简介C语言中通过字符相连已经基本创造出了字符串的常规操作,然而,字符串在C语言中并不是常规类型,而是一个类似于数组的结构,在C++中,通过模板类的操作创建了string类,这样的方法更适合于现代的……

双向链表的基本设计(C语言代码实现)

双向链表的基本设计(C语言代码实现)1. 双向链表的简介&概念单链表在很多时候已经可以胜任很多优秀的操作了,但是,单链表任然存在不足,所谓‘单链表’,是指结点中只有一个指向其后继……

哈希算法实例详解

哈希算法实例详解1.什么是哈希Hash,一般翻译做散列、杂凑,或音译为哈希,是一个典型的利用空间换取时间的算法,把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。如……

树的遍历之后序遍历二叉树

树的遍历之后序遍历二叉树1.简介依旧是下面的这三句话:先序遍历:根左右中序遍历:左根右后序遍历:左右根      &……

C++STL教程入门

C++STL教程入门在上一篇文章我们已经基本的了解了什么是C++的STL(标准模板库),在本章中绝大多数内容都是在介绍常用的STL模板的使用以及其一些参数的介绍,但是请注意,STL由于其设计之初就容纳了大量的程序员思维结……

理解复杂度概念

理解复杂度概念1.时间空间复杂度定义1)时间复杂度时间复杂度表示一个程序运行所需要的时间,其具体需要在机器环境中才能得到具体的值,但我们一般并不需要得到详细的值,只是需要比较快慢的区别即可,为此,我们需要引入时间频……

什么是哈希表?

什么是哈希表?很多人说起“哈希表”,就会直接聚焦到hash函数、“散列”、“杂凑”等方向,会使得初学者一头雾水,反而更加不理解什么,下面就会系……

最小生成树,普利姆(Prim)算法及C/C++代码实现

最小生成树,普利姆(Prim)算法及C/C++代码实现1.最小生成树(又名:最小权重生成树)概念:将给出的所有点连接起来(即从一个点可到任意一个点),且连接路径之和最小的图叫最小生成树。最小生成树属于一种树形结构(树形结构是一种特殊的图),或者说是直链型……