数据结构

什么是跳表?

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

顺序队列的基本操作(入队出队遍历)及C/C++代码实现

顺序队列的基本操作(入队出队遍历)及C/C++代码实现1.  入队操作如图,进行入队(push)操作的时候,我们首先需要特判一下队列是否为空,如果队列为空的话,需要将头指针和尾指针一同指向第一个结点,即front=n;……

后记

后记自6月提笔写这个教程,到现在已是年末了,时光如梭,读者跟着连载应该再配合一些基本的习题和搜索应该已经基本掌握数据结构了,然而,学完这些基本的数据结构还只是计算机学习海洋的一个开始,正如我开篇所说,数据……

C++STL之Map容器

C++STL之Map容器1.简介Map也是一种关联容器,它是键—值对的集合,即它的存储都是以一对键和值进行存储的,Map通常也可以理解为关联数组(associativearray),就是每一个值都有一个键与值一一……

线性(顺序)查找介绍与实现

线性(顺序)查找介绍与实现1.查找算法查找算法是指:从一些数据之中,找到一个特殊的数据的实现方法。查找算法与遍历有极高的相似性,唯一的不同就是查找算法可能并不一定会将每一个数据都进行访问,有些查找算法如二分查找等,并不需要完全……

矩阵的介绍及乘法运算(附C语言实现代码)

矩阵的介绍及乘法运算(附C语言实现代码)1.矩阵概念在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,最早来自于方程组的系数及常数所构成的方阵。这一概念由19世纪英国数学家凯利首先提出。矩阵是高等代数学中的常见工具,也常……

数据结构与算法入门

数据结构与算法入门1.序欢迎阅读本教程。本套教程由UDP广播协议叫吃饭编写,面向对计算机编程有一定基础的同学,如果你对计算机完全属于一种小白的状态,建议前往(C语言教程)以及(C++教程)进行基础的学习。本教程IDE采……

栈的定义和特点

栈的定义和特点数据结构的重要部分,栈,栈是OI中常用的一种线性数据结构,请注意,本文主要讲的是栈这种数据结构,而非程序运行时的系统栈/栈空间,大家一定要弄清晰,别混淆了。栈的定义和特点栈(stack)是一个特殊的线……

循环链表的基本操作及C语言代码实现

循环链表的基本操作及C语言代码实现如图,对于插入数据的操作,基本与单链表的插入操作相同,我们可以创建一个独立的结点,通过将需要插入的结点的上一个结点的next指针指向该节点,再由需要插入的结点的next指针指向下一个结点的方式完成插入……