手机版
热门标签
站点地图
我要投稿
广告合作
联系我们
搜 索
广告位招租
广告位招租
切换导航
首页
编程教程
编程导航
编程百科
编程问答
编程博文
编程实例
硬件设备
网络运营
软件教程
移动数码
办公软件
操作系统
人工智能
栏目导航
▸ 编程语言
▸ 前端开发
▸ 移动开发
▸ 开发工具
▸ 程序设计
▸ 行业应用
▸ CMS系统
▸ 服务器
▸ 数据库
公众号推荐
微信公众号搜
"智元新知"
关注
微信扫一扫可直接关注哦!
子栏目导航
Linux
Windows
CentOS
Ubuntu
Nginx
WebService
Scala
Memcache
Apache
Redis
Docker
Bash
Azure
Tomcat
LNMP
Shell
Ansible
KVM虚拟机
数据结构
鸿蒙系统
宝塔面板
服务器运维
网络安全
编程之家
数据结构
【数据结构】单链表无头节点
#include "stdlib.h" #include "stdio.h" struct List { int xs; int zs; List *next; }; void InstList(List *&L, int n) { L = (List *)malloc(sizeof(List)); scanf("%d%d", &L->xs, &L->zs)
作者:编程之家 时间:2019-05-17
《数据结构》第一章之绪论相关代码
本书所涉及的部分头文件如下: #include<string.h> #include<ctype.h> #include<malloc.h> #include<limits.h> #include<stdio.h> #include<stdlib.h> #include<io.h> #include<math.h> #include<sys/timeb.h> #include<s
作者:编程之家 时间:2019-05-17
【数据结构】BitMap使用
BitMap介绍 大数据是越来越火热的一个词语,对大数据的处理也同样是各种公司面试的常问题目。对大数据处理有几种通用的方式:分治,分布式,bitmap,bloom filter。bitmap与bloom filter主要是用于对大数据进行过滤,找到符合某些条件的数据。本文对bitmap进行简单分析。 java中有对bitmap的实现,是java,util.BitSet。 其提供了两种构造方法: B
作者:编程之家 时间:2019-05-17
【数据结构】B-/B+树的分析
首先B/B+树一般是用于索引结构中,用来在大量数据中快速定位查找到想要的数据。但是这种快速查找的数据结构很多,比如查找树,红黑树,那B-/B+树又有什么不同那,以致它被用在大量的数据中快速定位,而不是使用二叉查找树。对于红黑树可以查看文章底层的链接。 下面会进行解释,在解释之前首先向对B-/B+树是什么东西做一下简单介绍。 B+是B-(下午我们直接称B树,正确读法应该就是B树)的一种变种,主要的变
作者:编程之家 时间:2019-05-17
【数据结构】红黑树/AVL树的分析
在上一篇文章中简单介绍了B与B+树 上篇文章中曾经提到红黑树的查找效率不如B或者B+树,那到底什么才是红黑树那,AVL又是个什么东西那。下面会简单介绍一下: 红黑树是这样的一种树,它有n个节点组成,每个节点包括左右字数的指针,自身的颜色,数值域。对于树有以下五个特殊要求: 1:叶节点只有黑色和红色两种; 2:根节点必须是黑色的; 3:叶子节点都是黑色的; 4:不能存在父子节点同时是红色,可以看出可
作者:编程之家 时间:2019-06-11
【数据结构】栈与队列
ADT栈 --------------- #include<stdio.h> #include<stdlib.h> //Stack CreatStack(MAX_STACK_SIZE) #define MAX_STACK_SIZE 10 typedef struct { int key; } element; element stack[MAX_STACK_SIZE]; int top =
作者:编程之家 时间:2019-06-11
【数据结构】malloc简易用法
--------------- #include<stdio.h> #include<stdlib.h> void main() { int *pi; float *pf; pi = (int*)malloc(sizeof(int)); pf = (float*)malloc(sizeof(float)); *pi = 1024; *pf = 3.14; printf("an int
作者:编程之家 时间:2019-06-11
【数据结构】typedef struct 和 struct在链表中的应用
(1) struct{ int x; int y; }test1; 定义了 结构 test1, test1.x 和 test1.y 可以在语句里用了。 (2) struct test {int x; int y; }test1; 定义了 结构 test1, test1.x 和 test1.y 可以在语句里用了。 与 1 比,1里面省写 了 test (3) typedef struct
作者:编程之家 时间:2019-06-11
【OpenJudge】【数据结构】全题解
Challenge0 : 直接数组模拟即可。 Challenge1 : 比上一题加强了一点,对每个位置建立链表,修改时向该位置插入新节点并保存时间戳,查询时沿着链表找到第一个时间戳小于k的数字 Challenge2:比上一题更难了,可以撤销前x次操作。我们可以使用可持久化的思想,每次操作都新建节点,用倍增思想维护当前节点的祖先,这样查询就可以做到O(logn) Challenge3 : 裸线段树
作者:编程之家 时间:2019-06-11
【数据结构】中缀表达式转换后缀表达式
我们平时写的数学表达式都是中缀表达式,如:a+b*c+(d*e+f)*g 现在要用计算机来实现这样的表达式,可以转换成后缀表达式再进行运算。自己写了一段代码如下: #include <iostream> #include <stack> using namespace std; void midtotail(char *a) { stack<char> c; while (*a!='\
作者:编程之家 时间:2019-06-11
《数据结构 》排序试题附答案
一、选择题 1.某内排序方法的稳定性是指( )。 A.该排序算法不允许有相同的关键字记录 B.该排序算法允许有相同的关键字记录 C.平均时间为0(n log n)的排序方法 D.以上都不对 2.下面给出的四种排序法中( )排序法是不稳定性排序法。 A. 插入 B. 冒泡 C. 二路归并 D. 堆
作者:编程之家 时间:2019-06-11
【数据结构】双向循环链表实现
先来看一下双向链表和双向循环链表的逻辑结构: 下面我们将用c/c++语言实现双向循环链表: #include <iostream> #include <malloc.h> #include <windows.h> using namespace std; typedef struct _DATA_//数据 { char name[40]; }Data,*pData;
作者:编程之家 时间:2019-06-11
《数据结构》严蔚敏版 读书总结
这本书3月份看的,之前没玩博客,所以没写总结,现在补上。 因为我本科专业不是计算机,只是对计算机很有兴趣,想跨专业考计算机系的研究生,这是决定跨考之后看的 第一本计算机专业书。看完之后收获颇大。 以前写程序基本上没有数据结构的概念,记得当初学C语言的时候,觉得链表好难理解,心想怎么会有这么复 杂的东西。再加上写的程序都比较水,上不得台面,所以对数据结构方面的知识水得跟渣一样。第一个比较像 样的程序
作者:编程之家 时间:2019-06-11
【数据结构】Trie树的相关介绍与实现
Trie树是前缀树,是指的对于一个节点的所有子节点具有相同的前缀。通常使用在字符串检索,经典使用场景是在搜索提示中对用户搜索词的提示,根据用户当前输入的搜索词查看有那些词语的前缀和你的输入是一样的,参考wiki;可以用于在在切词分词中用来保存词库的数据结构。对一篇文章进行切词分词的时候,通过与词库对比查找得出要如何切词,切词分词的简单介绍。 和Trie相关的另一种数据结构就是后缀树。后缀树是具有相
作者:编程之家 时间:2019-06-11
【数据结构】之一、二叉树创建,前中后序遍历
代码积累日志! http://zh.wikipedia.org/wiki/%E4%BA%8C%E5%8F%89%E6%A0%91 这里都有介绍二叉树的基本概念! 下面看二叉树数据结构: #define Type char typedef struct BiTNode{ Type data; struct BiTNode *lchild, *rchild; }BiTNode, *BiTree
作者:编程之家 时间:2019-06-11
关于用栈链表来实现中序表达式的一个小程序 《数据结构》
今天我在黄国瑜的《数据结构》一书中看到一段代码:于用栈链表来实现中序表达式,代码如下: #include <stdio.h> #include <stdlib.h> #include <stdlib.h> struct s_node { int data; struct s_node *next; }; typedef struct s_node s_list; typedef s_list
作者:编程之家 时间:2019-06-11
大二下小学期《数据结构》课程设计报告1
题目一: 基本查找算法比较 1) 对以下 3 种基本的查找算法的性能进行比较:顺序查找,二叉查找树,哈希。算法 包含两步:第一步:从文件中读取数据建查找表;第二步从文件中读取查找关键字 静态查找。 2) 待查找记录的个数不小于 n ( n<=1000000),关键字key 互不相同,取值范围0-109; 查询操作的次数为m(m=100000),每次查询的关键字随机生成,取值范围0-109. 3)
作者:编程之家 时间:2019-06-11
【数据结构】字符串查找
原文地址:【数据结构】字符串查找 作者:ccy1991911 实验7、字符串查找 目的 掌握字符串模式匹配的经典算法。 问题描述 分别用简单方法和KMP方法实现index在文本串中查找指定字符串的功能。 步骤 1. 定义字符串类型 2. 实现简单的index操作,从文本串中查找指定字符串。 3. 实现KMP方法的index操作,从文本串中查找指定字符串。 4.
作者:编程之家 时间:2019-06-11
【数据结构】01.8种排序算法的稳定性和时间复杂度小结
选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法, 冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。 冒泡法: 这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡: 复杂度为O(n*n)。当数据为正序,将不会有交换。复杂度为O(0)。 直接插入排序:O(n*n) 选择排序:O(n*n) 快速排序:平均时间复杂度log2(n)*n,所有内部排序方法中最
作者:编程之家 时间:2019-06-11
【数据结构】栈的编写以及栈的简单应用
首先写两个栈的异常类,分别是栈满和栈空的类: package com.jim.stack; public class ExceptionStackEmpty extends RuntimeException{ public ExceptionStackEmpty(String err){ System.out.println(err); } } packa
作者:编程之家 时间:2019-06-11
《数据结构》之散列表
本章介绍了散列表(hash table)的概念、散列函数的设计及散列冲突的处理。散列表类似与字典的目录,查找的元素都有一个key与之对应,在实践当中,散列技术的效率是很高的,合理的设计散函数和冲突处理方法,可以使得在散列表中查找一个元素的期望时间为O(1)。散列表是普通数组概念的推广,在散列表中,不是直接把关键字用作数组下标,而是根据关键字通过散列函数计算出来的。书中介绍散列表非常注重推理和证明,
作者:编程之家 时间:2019-06-11
【数据结构】栈的应用 I :表达式求值
1. 介绍 表达式分为前缀、中缀、后缀。前缀表达式,也称为波兰表达式,其特点是将操作符置于操作数的前面。后缀表达式,也成为逆波兰表达式,所有操作符置于操作数的后面。波兰表达式、逆波兰表达式均是由波兰数学家Jan Łukasiewicz所提出的。中缀表达式将操作符放在操作数中间。前缀表达式和后缀表达式相对于中缀表达式最大的不同是,去掉了表示运算优先级的括号。 1.1 前缀表达式求值 求值过程中会用到
作者:编程之家 时间:2019-06-11
【数据结构】 单向链表
一、链表 链表:是一种常见的数据结构,所有的数据以节点的形式存储在一个线性结构中,但是,链表的节点并不是顺序存储的,而是通过节点的指针把所有节点连接起来;对链表的操作主要就是对节点的操作,对链表的插入和删除操作的时间复杂度是O(1),但是对链表的随机访问的时间复杂度是O(n) 节点:数据 域+ 指针域(数据域存放具体的数据、各节点之间通过指针域连接起来) 1、单向链表 链表中最简单的一种是单向链表
作者:编程之家 时间:2019-06-11
【数据结构】之链栈的java实现
前言 最近参加一些校招,博主被问了很多数据结构的问题,其中很多问题面试官需要的答案不仅仅是需要你了解这些概念,而是需要你通过某种语言(C、C++、Java)把这种结构实现,同时还能根据公司的具体需求进一步优化。对于博主这样,数据结构功底薄弱的选手,最终结果只能“被面”。痛定思痛,现在痛苦狂补中。正如江湖中有句话“欠下的债终究要还的”。 链栈 栈的链式存储结构称为链栈。 在算法中要用到多个栈时,最好
作者:编程之家 时间:2019-06-11
【数据结构】之队列的java实现二
在上一篇博文中通过java实现了队列的连续存储,下面来讨论队列的链式存储,即链队列。 链队列的定义: 队列的链式存储结构简称为链队列。它是限制仅在表头删除和表尾插入的单链表。 链队列的数据存储形式: 链队列基本运算的实现: package study_02.datastructure.queue; /** * 链队列 * @author WWX */ public class Link
作者:编程之家 时间:2019-06-11
【数据结构】第1周 线性表 1:多项式加法
1:多项式加法 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 5000kB 描述 我们经常遇到两多项式相加的情况,在这里,我们就需要用程序来模拟实现把两个多项式相加到一起。首先,我们会有两个多项式,每个多项式是独立的一行,每个多项式由系数、幂数这样的多个整数对来表示。 如多项式2x20- x17+ 5x9- 7x7+ 16x5+ 10x4 + 22x2- 15 对应
作者:编程之家 时间:2019-06-11
【数据结构】第1周 线性表 2:字符串插入
2:字符串插入 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 有两个字符串str和substr,str的字符个数不超过10,substr的字符个数为3。(字符个数不包括字符串结尾处的'\0'。)将substr插入到str中ASCII码最大的那个字符后面,若有多个最大则只考虑第一个。 输入 输入包括若干行,每一行为一组测试数据,格式为 str subst
作者:编程之家 时间:2019-06-11
【数据结构】第1周 线性表 3:位查询
3:位查询 查看 提交 统计 提问 总时间限制: 5000ms 内存限制: 65536kB 描述 给出N个范围在[0, 65535]的整数,编程支持以下的操作: (1)修改操作:C d,所有的数都增加d。如果超过65535,把结果模65536。 0 <= d <= 65535 (2)查询操作:Q i,统计在N个正整数中有多少个整数其对应的二进制形式的第i位二进制位为非0。0 <=
作者:编程之家 时间:2019-06-11
【数据结构】第1周 线性表 4:放苹果
4:放苹果 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。 输入 第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。 输出 对输入的每组数据M和N,用一
作者:编程之家 时间:2019-06-11
【数据结构】黑匣子
Black Box是一种原始的数据库。它可以储存一个整数数组,还有一个特别的变量i。最开始的时候Black Box是空的,而i等于0。这个Black Box要处理一串命令。 命令只有两种: ADD(x):把x元素放进Black Box; GET:i加1,然后输出Black Box中第i小的数。 记住:第i小的数,就是Black Box里的数的按从小到大的顺序排序后的第i个元素。 例如: 我们来演示
作者:编程之家 时间:2019-06-11
上一页
13
14
15
16
17
18
19
20
下一页
小编推荐
热门标签
更多
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