手机版
热门标签
站点地图
我要投稿
广告合作
联系我们
搜 索
广告位招租
广告位招租
切换导航
首页
编程教程
编程导航
编程百科
编程问答
编程博文
编程实例
硬件设备
网络运营
软件教程
移动数码
办公软件
操作系统
人工智能
栏目导航
▸ 编程语言
▸ 前端开发
▸ 移动开发
▸ 开发工具
▸ 程序设计
▸ 行业应用
▸ CMS系统
▸ 服务器
▸ 数据库
公众号推荐
微信公众号搜
"智元新知"
关注
微信扫一扫可直接关注哦!
子栏目导航
Linux
Windows
CentOS
Ubuntu
Nginx
WebService
Scala
Memcache
Apache
Redis
Docker
Bash
Azure
Tomcat
LNMP
Shell
Ansible
KVM虚拟机
数据结构
鸿蒙系统
宝塔面板
服务器运维
网络安全
编程之家
数据结构
【数据结构】二、线性表
2.1. 定义与特点 定义 ? 具有相同数据类型的 \(n(n\geq0)\) 个数据元素的有限序列。\(n\) 是表长,当 \(n=0\) 时该线性表是一个空表。若用 \(L\) 表示线性表,一般表示为: \[ L=(a_1,a_2,...,a_i,a_{i+1},...,a_n) \] 特点 元素个数有限 元素具有逻辑上的顺序,有先后次序 元素都是数据元素,每个元素都是单个元素 元素数据类型都
作者:编程之家 时间:2020-07-27
【数据结构】第二章小结
ps:第一次用博客园写,记录第一次 一、数据结构第二章主要为:顺序表和链表的构造及其增删查改的一些基本操作,以及粗略计算它们的时间or空间的复杂度。 1、顺序表: (1) 特点:逻辑结构上相邻,物理存储上也是相邻的,属于随机存储; (2) 优点:便于使用下标进行查找,例如:查找某数组
作者:编程之家 时间:2020-07-27
【数据结构】 单向链表
【1】错误:H->next =NULL 或其他“让指针指向空”的语句运行报错:“ ‘NULL‘ : undeclared identifier” 、 “ ‘=‘ : cannot convert from ‘int‘ to ‘struct node *‘ ” 原因:未引入头文件 #include “stdio.h” ,把NULL定义为一个空地址是在 stdio头文件中完成的。 【2】 s
作者:编程之家 时间:2020-07-27
[JZOJ6089]【CodeChef 2014 April Challenge】Final Battle of Chef【数据结构】【整体二分】
Description \(n,q,V\leq 100000,w_i\leq 10^9\) Solution 又是一道大数据结构 由于有一个下取整,这就导致了不同时间的修改值是不能简单的直接加在一起的。 容易发现,1操作的影响只会影响到距离不超过log的点。 这样我们很容易得到一个\(q\log n\log ^2V\)的做法 同一深度的修改有一种套路是维护BFS序。 对于子树内的点,我们将log个
作者:编程之家 时间:2020-07-27
【数据结构】红黑树与跳表-(SortSet)-(TreeMap)-(TreeSet)
SortSet 有序的Set,其实在Java中TreeSet是SortSet的唯一实现类,内部通过TreeMap实现的;而TreeMap是通过红黑树实现的;而在Redis中是通过跳表实现的; SkipList 跳表,思想类似平衡二叉树,但又不一样;下面摘了一个介绍: skiplist数据结构简介(摘自:https://www.cnblogs.com/Elliott-Su-Faith-c
作者:编程之家 时间:2020-07-27
【数据结构】堆栈
堆栈 满足先进后出原则 1、python 描述 # 堆栈 先进后出原则 MAXSTACK = 10 global stack stack = [None] * MAXSTACK top = -1 def is_empty(): if top == -1: return True else: return False
作者:编程之家 时间:2020-07-27
【数据结构】维护队列
T69293 维护队列 题目描述 Alice 给 Bob 布置了很多工作,他忙的不可开交,决定按照“先进先出(FIFO)”的顺序依次处理这些工作。但是处理过程中,Bob 意识到这种顺序可能不是最优的,因此他会选择性的把某些工作延后。 抽象来说,你需要维护一个队列,支持三种操作: 操作一:1 v,在队尾加入一个价值为 v 的任务。 操作二:2,如果当前队列为空,输出 -1;否则输出队头任务的价值,并
作者:编程之家 时间:2020-07-27
【数据结构】静态链表的实现C语言描述
#include <stdio.h> #include "stdlib.h" #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 #define MAXSIZE 1000 // 定义线性表最大容量 typedef int Status; typedef int ElemType; // 定义静态链表的存储结构 t
作者:编程之家 时间:2020-07-27
【数据结构】莫队二
今天的内容是带修莫队。 例题:P1903 [国家集训队]数颜色 / 维护队列 题目描述 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问。墨墨会向你发布如下指令: 1、 Q L R代表询问你从第L支画笔到第R支画笔中共有几种不同颜色的画笔。 2、 R P Col 把第P支画笔替换为颜色Col。 为了满足墨墨的要求,你知道你需要干什么了吗? 输入格式 第1行两个
作者:编程之家 时间:2020-07-27
【数据结构】二叉树的创建与遍历
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 #define MAXSIZE 100 /* 存储空间初始分配量 */ typedef int Status;
作者:编程之家 时间:2020-07-27
【数据结构】线段树Segment Tree
假设我们现在拿到了一个非常大的数组,对于这个数组里面的数字要反复不断地做两个操作。 1、(query)随机在这个数组中选一个区间,求出这个区间所有数的和。 2、(update)不断地随机修改这个数组中的某一个值。 时间复杂度: 枚举: 枚举L~R的每个数并累加。 query:O(n) 找到要修改的数直接修改。 update:O(1) 如果query与update要做很多很多次,query的O(
作者:编程之家 时间:2020-07-27
【数据结构】2.java源码关于LinkedList
关于LinkedList的源码关注点 1.从底层数据结构,扩容策略 2.LinkedList的增删改查 3.特殊处理重点关注 4.遍历的速度,随机访问和iterator访问效率对比 1.从底层数据结构,扩容策略 构造函数不做任何操作,只要再add的时候进行数据初始化操作,以操作推动逻辑,而且linkedlist是一个双向链表,所以可以向前向后双向遍历 由于构造函数并没有任何操作,其实这里我们可
作者:编程之家 时间:2020-07-27
【数据结构】【状态压缩】刷题
没什么别的,就希望自己记住那些函数 1>floyd+bitset优化 #include<cstdio> #include<cstdlib> #include<bitset> using namespace std; int n; const int N=2003; char s[N]; bitset <N> bs[N]; int main() { scanf("%d",&
作者:编程之家 时间:2020-07-27
【数据结构】Hash表
【数据结构】Hash表 Hash表也叫散列表,是一种线性数据结构。在一般情况下,可以用o(1)的时间复杂度进行数据的增删改查。在Java开发语言中,HashMap的底层就是一个散列表。 1. 什么是Hash表 Hash表是一种线性数据结构,这种数据结构的底层一般是通过数组来实现的。在进行数据增删改查的时候,Hash表首先通过Hash函数对某个键值进行Hash操作,这个Hash操作会将这个键映射到数
作者:编程之家 时间:2020-07-27
推荐!《数据结构》演示程序(提供下载)
点击下载 《数据结构》演示程序
作者:编程之家 时间:2019-05-09
【数据结构】PHP实现查找表
【基本算法】 假设有一个数组,需要找出某个值在该数组中的位置。 <? //二分查找 function bin_sch($array, $low, $high, $k){ if ($low <= $high){ $mid = intval(($low+$high)/2); if ($array[$mid] == $k){ retur
作者:编程之家 时间:2019-05-09
《数据结构》示范程序/图邻接矩阵表示
《数据结构》示范程序/图邻接矩阵表示 /* 用图邻接矩阵表示实现的一些基本运算*/ #define MAXVEX 20 #define null -1 typedef char VexType; typedef float AdjType; typedef struct { VexType vexs[MAXVEX]; /* 顶点信息 */
作者:编程之家 时间:2019-05-09
近日再读《数据结构》,希望温故而知新
学习数据结构,对于各种数据结构要熟知其存储的类型,能够很快的写出其结构体, 结构体的成员变量和成员函数,并且能对各种数据结构的基本操作了熟于心,例如线形表、栈和队列,数组,字符串,广义表,树,图等。然后是一些基本的查找和排序,数和图的遍历等等。 暂时的记忆就是这些了。 我在想blog到底是给别人看还是自己用呢???
作者:编程之家 时间:2019-05-09
【数据结构】复习笔记
1.数据:信息的载体,能被计算机识别、存储和加工处理。 2.数据元素:数据的基本单位,可由若干个数据项组成,数据项是具有独立含义的最小标识单位。 3.数据结构:数据之间的相互关系,即数据的组织形式。 它包括:1)数据的逻辑结构,从逻辑关系上描述数据,与数据存储无关,独立于计算机; 2)数据的存储结构,是逻辑结构用计算机语言的实现,依赖于计算机语言。 3)数据的运算,定义在逻辑结构上,每种逻辑结
作者:编程之家 时间:2019-05-09
《数据结构》学习指导
人生有时候就是充满了这种悖论。 读书的时候,我们不知道那些课程有用,工作的时候,我们知道了。但已经没有精力去深入学习了。 《数据结构和算法分析》就是这种对开发人员有用的课程。 我毕业之后还购买过一本图书,来深入的学习。 纵观过去的十多年,这门课程的用处可以说无处不在。重要性堪称计算机学科的第一名。 不过,我们开始学习的时候,却很难体会。 有些东西,需要逐步体验。 比如对计算机的定义,实际上,从认知
作者:编程之家 时间:2019-05-09
《数据结构》实验报告
实验七:排序 一.我的实验选题:排序算法 二.实验主要内容和目的: 将输入的n个数用插入排序、快速排序、选择排序分别重新排列成按一个数据元素某个项值有序的序列。 本实验的目的在于:对于每一种排序,要深刻理解它的思想,熟练掌握排序过程,时间和空间复杂度,最好情况和最坏情况,稳定性如何,适用于什么样的初始序列。掌握重要排序的算法和排序过程,插入排序,快速排序,选择排序。 三.概要设计: (主要模块及相
作者:编程之家 时间:2019-05-09
看殷人昆《数据结构》
以前没学过数据结构,找人要了本黄皮的殷人昆《数据结构》。原因有三: 一来和严蔚敏的C语言实现版本(没考虑过外文书,主要英文功底差,不想被语言描述打乱思路)比,C++的面向对象编程确实要方便直观许多; 二来以前没用C++编过程(学点皮毛,没动过手),打算利用学数据结构的时候过一遍最基本的C++知识点; 三来这本书久经中国学生考验,遇到问题网上应该能(我猜的)找到对应的答案。对我这样自己啃的人(每人讨
作者:编程之家 时间:2019-05-09
【0610】【数据结构】【C语言版视频教程】【 全52讲 完整版】
ftp://202.106.156.143/down/computer/数据结构C语言版视频教程01.rar ftp://202.106.156.143/down/computer/数据结构C语言版视频教程02.rar ftp://202.106.156.143/down/computer/数据结构C语言版视频教程03.rar ftp://202.106.156.143/down/computer
作者:编程之家 时间:2019-05-09
自学《数据结构》的重点章节说明
原文来自:http://www.rupeng.com/forum/thread-9132-1-1.html 有同学自学《数据结构》,由于《数据结构》的知识比较多、难点也比较多,但是对于不以通过考试为目的、而已加强软件开发技能的自学者来说,不是所有章节都需要学习,因此下面为这些同学划定一下重点。 针对的教材是《数据结构(C语言版)》(严蔚敏,吴伟民 编著) 下载 (42.32
作者:编程之家 时间:2019-05-09
进位制转换【数据结构】
#include<stdio.h> #include<stdlib.h> #include<conio.h> #define QueueSize 100 typedef char DataType; typedef struct cirqueue { DataType data[QueueSize]; int front; int rear; }CirQueue;
作者:编程之家 时间:2019-05-09
【数据结构】基数排序的哈希表
本哈希表类以及相关类属于作者智能内核项目的一个组成部分。为了实现计算机智能化, 需要在超巨量的空间内快速地存储、检索、匹配和修改数据,传统的哈希表算法根本不适用, 而且在很多应用场合需要一种按整数方式自然排序的哈希树容器,但可惜数据结构理论和 实践中都没有。因此作者一直在思索构造适用于这一目的的算法和容器。 我相信,人的大脑神经网络中一定存在一种类似的容器,不同的是基于某种多进制分叉运算的,
作者:编程之家 时间:2019-05-09
2010上学期《数据结构》考试试题预测 一、
冒泡排序的思想与代码描述 思想:它是计算机程序设计中的一种排序方法,在每一次的排序过程中总有一个最大的值被移到后面,值小的就像是水泡一样浮到水面上。 冒泡排序是从最低层的元素开始,用它和它紧挨着的上一个元素比较,如果下面的元素小于上面的元素,就交换它们,否则保持。 代码如下: public class Demo { public static void main (String
作者:编程之家 时间:2019-05-09
【数据结构】学习总结【开篇】
Hi,all。 最近打算把数据结构再好好看一遍,做个总结。 算是给自己提个醒吧。 这里先mark一下~~ 预期:做个简明扼要的总结,希望能把最本质的总结出来 并结合具体的C++实例,方便记忆 有什么意见或建议欢迎提出啊~~~ 共同进步
作者:编程之家 时间:2019-05-09
【数据结构】数据结构总结
线性表(n个数据元素的有限集合)是一种逻辑结构,它的特点: (1)存在唯一的一个被称做“第一个”的数据元素; (2)存在唯一的一个被称做“最后一个”的数据元素; (3)除第一个之外,集合中的每个数据元素均只有一个前驱; (4)除最后一个之外,集合中每个数据元素均只有一个后继。 线性表的存储结构包括两种:顺序存储、链式存
作者:编程之家 时间:2019-05-09
【数据结构】二叉树基本操作的程序实现
//Bintree.h #include<stdio.h> #include<malloc.h> typedef struct Binnode{//二叉树结点结构体 char data; struct Binnode *lchild; struct Binnode *rchild; }; typedef Binnode *Bintree ; typedef struct
作者:编程之家 时间:2019-05-09
上一页
10
11
12
13
14
15
16
17
下一页
小编推荐
热门标签
更多
python
JavaScript
java
HTML
reactjs
C#
Android
CSS
Node.js
sql
r
python-3.x
MysqL
jQuery
c++
pandas
Flutter
angular
IOS
django
linux
swift
typescript
路由器
JSON
路由器设置
无线路由器
h3c
华三
华三路由器设置
华三路由器
电脑软件教程
arrays
docker
软件图文教程
C
vue.js
laravel
spring-boot
react-native