• 手机版
  • 热门标签
  • 站点地图
  • 我要投稿
  • 广告合作
  • 联系我们
编程之家
AI导航网
  • 广告位招租
  • 广告位招租
  • 首页
  • 编程教程
  • 编程导航
  • 编程百科
  • 编程问答
  • 编程博文
  • 编程实例
  • 硬件设备
  • 网络运营
  • 软件教程
  • 移动数码
  • 办公软件
  • 人工智能
  • ▸ Linux
  • ▸ Windows
  • ▸ CentOS
  • ▸ Ubuntu
  • ▸ Nginx
  • ▸ WebService
  • ▸ Scala
  • ▸ Memcache
  • ▸ Apache
  • ▸ Redis
  • ▸ Docker
  • ▸ Bash
  • ▸ Azure
  • ▸ Tomcat
  • ▸ LNMP
  • ▸ Shell
  • ▸ Ansible
  • ▸ KVM虚拟机
  • ▸ 数据结构
  • ▸ 鸿蒙系统
  • ▸ 宝塔面板
  • ▸ 服务器运维
  • ▸ 网络安全
微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!
  • 编程之家
  • 数据结构
【数据结构】二叉树的层次遍历
#include <stdio.h> #include <stdlib.h> #define MAX_SIZE 100 typedef char ElemType; typedef struct BiTree { ElemType elem; BiTree* LChild; BiTree* RChild; }BirTree,*PBiTree; typedef
【数据结构】二叉树的层次遍历2
#include<stdio.h> #include<stdlib.h> typedef char DataType; //树结点的数据类型定义 typedef struct BTnode{ DataType data; struct BTnode* lchild,*rchild; }BTree; //队列的结点数据类型定义 typedef struct node{ B
【数据结构】二叉堆堆
二叉堆(也叫堆)是一个部分排序的二叉树,其排序规则体现在它的堆序性质上:最大堆和最小堆,最大堆就是其对于任一节点,每个节点的键值都大于等于它的孩子节点,所以根节点键值最大。最小堆则相反。 堆是一棵完全二叉树,具备完全二叉树的性质,可以用一个数组表示而不需要指针,在起始位置为 0 的数组中任一位置 i 上的元素,其左儿子在位置 2*1+1 上,右儿子在左儿子的后面邻近位置上,它的父节点则在位置 (i
九度 1415 不一样的循环队列 【数据结构】
题目地址:http://ac.jobdu.com/problem.php?pid=1415 题目描述: 大家都知道数据结构里面有一个结构叫做循环队列。顾名思义,这是一个队列,并且是循环的。但是现在,淘气的囧哥给这个循环队列加上了一些规矩,其中有5条指令: (1) Push K, 让元素K进队列。 (2) Pop,对头元素出队列。 (3) Query K,查找队列中第K个元素,注意K的合法性。 (4
【数据结构】数组中的最大连续递增子序列
数组中的数是乱序的,求出数组中最大的连续子序列(这里为递增)。 方法一:用一个辅助数组list[length],记录下数组中每个元素对应的最大连续序列长度,默认为1,即从该元素后没有连续的序列。当i元素比i-1个元素大时,则将i-1个元素的最大子序列长度加1即为第i个元素的最大序列长度。最后从list[]数组中找到最大的值max,即为该数组的最大连续子序列。 该方法的优点是思路清晰,代码简介易懂;
【数据结构】 二叉树 非递归遍历
以下是我自己的一些写法,由于本人修行尚浅,因此代码难免有不当之处,如有发现,敬请指出,如有雷同纯属巧合。 /* 先序遍历 * 思路: 先输出根 并一直寻找左子树,同时,若存在右子树,则右子树入栈。 * 找完所有的左子树之后,栈顶出栈,重复上述工作,一直到栈空为止。 * */ void PreOrderTraverse(PBiTree T) { if (T == NULL)
《数据结构》KMP实现
/************************************************************************ *   函数名:KMP * *   函数功能:使用KMP算法进行字符串匹配     返回结果:返回模式串在主串中的位置 参    数:主串,模式串 * *   创    建:  2014/3/20 * *   版本号:1.0     注:由于字符数组的
【数据结构】 二叉树的遍历
“树”是一种重要的数据结构,本文浅谈二叉树的遍历问题,采用C语言描述。  树的销毁应从叶子节点开始逐个向上销毁。如采用非递归的方法,可以使用后序 遍历逐个销毁结点,因后序遍历是先叶子结点后根节点的一种方法。 void destroyTree(treeNode *root) { if (!root) { destroyTree(root‐>left); destroyTree(root‐>right
【数据结构】栈的链表实现
栈的链表实现 在刚学习数据结构的时候,我们经常地会用到顺序栈,一个学弟问到我怎样用链表实现栈,下午花了一点时间,好久没有写过这个东西了传上来大家一起交流学习! /* 日期:2014-3-25 作者:徐刘根 名称:栈的链表实现 环境:VC++ */ #include<iostream.h> typedef struct node { int data; struct node *nex
【数据结构】迪杰斯特拉算法
数据结构中的迪杰斯特拉算法 /* 名称:迪杰斯特拉算法 语言:数据结构C语言版 编译环境:VC++ 6.0 日期:2014-3-25 */ #include <stdio.h> #include <string.h> #include <malloc.h> #include <limits.h> #include<cstdlib> //包含system("pause");语句
【数据结构】普里姆算法
学习比较痛苦的一个普里姆算法,别废话了!上码如下: /* 名称:普里姆算法 语言:数据结构C语言版 编译环境:VC++ 6.0 日期:2014-3-25 */ #include <stdio.h> #include <limits.h> #include <malloc.h> #include<cstdlib> #include <string.h> #define
【数据结构】关键路径
关键路径 数据结构中 求关键路径,以前写的代码,传给大家看看! /* 名称:关键路径 语言:数据结构C语言版 编译环境:VC++ 6.0 日期:2014-3-25 */ #include <stdio.h> #include <limits.h> #include <malloc.h> #include<cstdlib> #include <string.h
【数据结构】八皇后
八皇后 经典的一个算法问题-八皇后,不说了上码!! /* 名称:八皇后 语言:数据结构C语言版 编译环境:VC++ 6.0 日期:2014-3-25 */ #include <stdio.h> #include<cstdlib> #include<string.h> static char Queen[8][8]; static int a[8]; static int b[
【数据结构】银行业务模拟
 数据结构实现的一个银行业务模拟 代码参考如下: /* 名称:银行业务模拟 语言:数据结构C语言版 编译环境:VC++ 6.0 日期: 2014-3-26 */ #include <stdio.h> #include <malloc.h> #include <stdlib.h> #include <time.h> // 定义事件类型,元素类型 typedef struct Eve
【数据结构】折半查找
数据结构 折半查找 /* 名称:折半查找 语言:数据结构C语言版 编译环境:VC++ 6.0 日期: 2014-3-26 */ #include <stdio.h> #include <malloc.h> #include <windows.h> #define N 11 // 数据元素个数 typedef int KeyType; // 设关键字域为整型 typede
【数据结构】赫夫曼树
数据结构赫夫曼树 /* 名称:赫夫曼树 语言:数据结构C语言版 编译环境:VC++ 6.0 日期: 2014-3-26 */ #include <stdio.h> #include <limits.h> #include <malloc.h> #include <string.h> #include <windows.h> // 赫夫曼树和赫夫曼编码的存储表示 typedef s
【数据结构】平衡二叉树
数据结构平衡二叉树 参考代码如下: /* 名称:平衡二叉树 语言:数据结构C语言版 编译环境:VC++ 6.0 日期: 2014-3-26 */ #include <stdio.h> #include <malloc.h> #include <windows.h> #define LH +1 // 左高 #define EH 0 // 等高 #define RH -1 // 右高
【数据结构】平衡二叉树[AVL树](一)——插入
AVL 树是带有平衡条件的二叉查找树,所谓的平衡条件就是每个节点的左子树和右子树的高度最大差别为1。平衡二叉树的实现大部分过程和二叉查找树是一样的,区别在于要时刻保持树的平衡,所以在插入和删除之后要添加一个旋转算法来保持平衡,保持平衡需要借助一个节点高度的属性。 一、AVL 节点 class AvlTree; class AvlNode { public: AvlNode(int val) :
【数据结构】串的块链存储表示和实现
数据结构 串的块链存储表示和实现 参考代码如下: /* 名称:串的块链存储表示和实现 语言:数据结构C语言版 编译环境:VC++ 6.0 日期: 2014-3-27 */ #include <stdio.h> #include <malloc.h> #include <stdlib.h> #include <string.h> // LString.h 串的块链存储表示 #de
【数据结构】平衡二叉树[AVL树](二)——删除
前面介绍了平衡二叉树的插入操作:平衡二叉树的插入,这里来介绍平衡二叉树的删除,平衡二叉树是一棵带有平衡条件的二叉查找树,其删除操作是在二叉查找树的基础上添加平衡调整算法。 二叉查找树的删除操作参见博文:二叉查找树的删除(第七点) 先看一下示意图() /*二叉查找树的性质让我们可以很方便的查找最小最大键值*/ /*查找最小键值节点:直接递归遍历左子树叶子节点*/ AvlNode* AvlTree::
【数据结构】双向链表表示和实现
 数据结构 双向链表表示和实现 参考代码如下: /* 名称:双向链表表示和实现 编译环境:VC++6.0 日期: 2014-3-27 */ #include <stdio.h> #include <malloc.h> #include <stdlib.h> typedef int ElemType; // 线性表的双向链表存储结构 typedef struct DuLNode { E
【数据结构】线性表的单链表存储结构表示和实现
数据结构 线性表的单链表存储结构表示和实现 参考代码如下: /* 名称:线性表的单链表存储结构表示和实现 编译环境:VC++6.0 日期: 2014-3-27 */ #include <stdio.h> #include <malloc.h> #include <stdlib.h> typedef int ElemType; // 线性表的单链表存储结构 typedef struct
【数据结构】递归求解迷宫问题
 数据结构 递归求解迷宫问题 参考代码如下: /* 名称:递归求解迷宫问题 编译环境:VC++ 6.0 日期: 2014年4月1日 */ #include<stdio.h> #include<windows.h> // 迷宫坐标位置类型 struct PosType { int x; // 行值 int y; // 列值 }; #define MAXLENGTH 25 // 设迷
【数据结构】 链表的19种基本操作完整版
基于这篇文章: http://www.cnblogs.com/lifuqing/archive/2011/08/20/List.html 作者最后只给出了前面12中操作的代码,这里我帮他补全 链表快速排序的思想参考了: http://blog.csdn.net/pinkrobin/article/details/5456094 转载本文前请注明出处,谢谢~ 提供一个本文代码的下载地址: http:
【数据结构】非循环队列
数据结构 非循环队列 参考代码如下: /* 名称:非循环队列 编译环境:VC++ 6.0 日期: 2014年4月4日 */ #include<stdio.h> #include<windows.h> #include <malloc.h> #include <stdlib.h> typedef int QElemType; // 顺序队列(非循环,因为是非循环的,所以需要判断是否溢出 #
【数据结构】栈学习之数组实现C语言
问题1:结构体指针变量 结构体指针变量的主要作用是存储其结构体变量的地址或结构体数组的地址,然后通过间接地方式操作对应的变量和数组。结构体指针变量与其他类型的变量一样都是用来存储地址的。 问题2: 在写数组栈的时候,遇到了一些代码。例如:typedef int SElemType; typedef int Status;并且在实际操作中Status用来定义函数的返回值类型。即:status  函数
【数据结构】栈应用之进制转换
进制转换就是将十进制数转换成相应的二进制、八进制和十六进制。原理是将十进制模二进制或者八进制或者十六进制所得的余数按从低到高的顺序入栈后,再按从高到底的顺序出栈,就可以将要得到的进制数输出。 #include <stdio.h> #include <stdlib.h> #include <malloc.h> #include <stdbool.h> #define STACK_INIT_SIZE
【数据结构】堆排序
 给定一个整形数组a[]={16,7,3,20,17,8},对其进行堆排序。     首先根据该数组元素构建一个完全二叉树,得到 然后需要构造初始堆,则从最后一个非叶节点开始调整,调整过程如下: 然后20再与最后一个元素3交换位置,分离出20,得到了以3为根的一个新堆,再进行堆排序.依次分离出所有元素. 源码如下: void heapAdjust(int a[], int s, int m) {
【数据结构】二叉树、AVL树
  二叉树 二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。 二叉树有几点重要的性质:  性质1:在二叉树的第 i 层上至多有2i-1 个结点。 (i≥1) 性质2:深度为 k 的二叉树上至多含2k-1 个结点(
【数据结构】poj 1338 pair,priority_queue
题目链接:点击打开链接 题目分析:找出第n的丑数,所谓丑数,即只含2,3,5的质因子;                     随便怎样暴力都可以,但是学习了下数据结构                  1.  priority_queue 对于基本类型的使用方法相对简单。他的模板声明带有三个参数:          priority_queue<Type, Container,Functiona
上一页1718192021222324下一页
  • • 一次彻底讲清如何处理mysql 的死锁问题
  • • MySQL 通过 Next-Key Locking 技术(行
  • • 一文彻底弄懂mysql的事务日志,undo lo
  • • Linux系统控制文件 /etc/sysctl.conf详
  • • linux命令useradd添加用户详解
  • • vi 和vim 的区别
  • • Linux系统下如何监测磁盘的使用空间
  • • linux中查看和开放端口
  • • Linux设置开放一个端口
  • • linux之ftp命令详解
  • • linux系统下实时监控进程以及定位杀死挂
  • • Linux下安装jdk8的方法
  • • 阿里云被挖矿进程wnTKYg入侵的解决方法
  • • 莫小安 CentOS7使用firewalld打开关闭防
  • • Linux中more和less命令用法
  • • linux系统里/opt目录和/usr/local目录的
  • • 如何使用Siege进行压测?
  • • 本地访问服务器的nacos地址
  • 友情链接:
  • 编程之家
  • -
  • 我要投稿
  • -
  • 广告合作
  • -
  • 联系我们
  • -
  • 免责声明
  • -
  • 网站地图
版权所有 © 2018编程之家闽ICP备13020303号-8
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!