数据结构

博弈算法实例详解

博弈算法实例详解1.简介博弈博弈/博弈论,又称为对策论(GameTheory)、赛局理论等,既是现代数学的一个新分支,也是运筹学的一个重要学科。博弈论主要研究公式化了的激励结构间的相互作用,是研究具有斗争或竞争性质现……

树形模拟法的运用(C语言例题讲解)

树形模拟法的运用(C语言例题讲解)1.模拟法简介        在前面的文章已经提到过模拟……

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

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

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

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

什么是跳表?

什么是跳表?跳表是一种数据结构。它使得包含n个元素的有序序列的查找和插入操作的平均时间复杂度都是O(logn),优于数组的O(n)复杂度。快速的查询效果是通过维护一个多层次的链表实现的,且与前一层(下面一层)链表……

最短路径,弗洛伊德(Floyd)算法及C/C++代码实现

最短路径,弗洛伊德(Floyd)算法及C/C++代码实现1.算法简介弗洛伊德算法与迪杰斯特拉算法是公认的最著名的两种最短路径求解算法,接下来介绍弗洛伊德算法,弗洛伊德算法的思路是:首先初始化距离矩阵,然后从第一个点开始逐渐更新矩阵点值。d[i][j]表示从……

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

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

C++STL教程入门

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

快速排序算法实例详解

快速排序算法实例详解1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(nlogn)平均情况:O(nlogn) 稳定性:不稳定排序2.过程介绍快速排序是考察次数最多的排序,无论是在大学专……

程序运行时的内存与地址

程序运行时的内存与地址1.理解内存在开始数据结构的正式代码编写之前,我们得先熟悉一个计算机中重要的概念——内存,当然这里不是教你如何选购内存条,这里是介绍数据结构学习中必须要掌握的关于内存的基本概念……