手机版
热门标签
站点地图
我要投稿
广告合作
联系我们
搜 索
广告位招租
广告位招租
切换导航
首页
编程教程
编程导航
编程百科
编程问答
编程博文
编程实例
硬件设备
网络运营
软件教程
移动数码
办公软件
操作系统
人工智能
栏目导航
▸ 编程语言
▸ 前端开发
▸ 移动开发
▸ 开发工具
▸ 程序设计
▸ 行业应用
▸ CMS系统
▸ 服务器
▸ 数据库
公众号推荐
微信公众号搜
"智元新知"
关注
微信扫一扫可直接关注哦!
子栏目导航
Linux
Windows
CentOS
Ubuntu
Nginx
WebService
Scala
Memcache
Apache
Redis
Docker
Bash
Azure
Tomcat
LNMP
Shell
Ansible
KVM虚拟机
数据结构
鸿蒙系统
宝塔面板
服务器运维
网络安全
编程之家
数据结构
《数据结构》二叉排序树查找性能总结
二叉排序树查找性能分析 1. 一棵二叉查找树的平均查找长度(ASL),见下图公式(1)。2. 一棵满二叉排序树的平均查找长度,见下图公式(2)。 3. 一棵斜二叉排序树的平均查找长度,见下图公式(3)。 由上面可以分析得知,对于二叉排序查找性能,最坏是斜树情况下的查找,最好的在一棵满树状态下查找。也就是说性能在公式(2)和公式(3)计算的值之间。当然一实际中,一般很少是满树
作者:编程之家 时间:2020-07-27
《数据结构》图floyd算法示例-大家一定要看
图的只操作复杂,但很在意义和意思。这里根据课本精华,实现一个图的最短路径算法,请参考。 准备计算课本P172,图6-13。如下: #include <iostream> #include <string> #include<iomanip> //引入输入输出格式头文件 using namespace std; const int Maxsize = 10; class
作者:编程之家 时间:2020-07-27
《数据结构》问题回答:why100个结点的完全二叉树叶子数为50.
有同学问:为什么具有100个结点的完全二叉树的叶子节点数为50? 这个问题很有意思,谢谢这同同学的提问。现在分析一下。 如果一棵完全二叉树有100个结点,我们根据以下两点: 1.二叉树的性质:深度为k的二叉树,最多有2的k次方-1个结点。 2.对于完全二叉树而言,叶子结点只能出现在最后两层,也就是说,完全二叉对左右子树深度差最多为1. 可知,结点数
作者:编程之家 时间:2020-07-27
《数据结构》完全二叉树的叶子数讨论
完全二叉树是一种很特别的树,很多性质和特性值得我们关注。下面,就来关注一下叶子数目。 如果一树是是完全二叉树,结点数为n,叶子是多少呢?现设结点总数为n,度为2和0结点数分别为n2和n0。下面讨论叶子数目。即计算n0值。 我们根据完全二叉树的概念,可以知道,完全二叉树有两种可能: 1.一种是:没有度为1的结点,只有度为2和0的结点 此时有:
作者:编程之家 时间:2020-07-27
《数据结构》完全二叉树的叶子数讨论
完全二叉树是一种很特别的树,很多性质和特性值得我们关注。下面,就来关注一下叶子数目。 如果一树是是完全二叉树,结点数为n,叶子是多少呢?现设结点总数为n,度为2和0结点数分别为n2和n0。下面讨论叶子数目。即计算n0值。 我们根据完全二叉树的概念,可以知道,完全二叉树有两种可能: 1.一种是:没有度为1的结点,只有度为2和0的结点 此时有:
作者:编程之家 时间:2020-07-27
《数据结构》实验一: VC编程工具的灵活使用
《数据结构》实验一: VC编程工具的灵活使用 一..实验目的 复习巩固VC编程环境的使用,以及C++模板设计。 1.回顾并掌握VC单文件结构程序设计过程。 2.回顾并掌握VC多文件工程设计过程 3.掌握VC程序调试过程。 4.回顾C++模板和模板的程序设计。 三.实验内容 1. 设计一个单文件结构程序完成从键盘输入两个数,输出二者的“和”和“积”的结果。要求如下: 1)设计函数
作者:编程之家 时间:2020-07-27
《数据结构》实验二: 线性表实验
《数据结构》实验二: 线性表实验 一..实验目的 巩固线性表的数据结构,学会线性表的应用。 1.回顾线性表的逻辑结构,线性表的物理存储结构和常见操作。 2.学习运用线性表的知识来解决实际问题。 3.进一步巩固程序调试方法。 4.进一步巩固模板程序设计。 二.实验时间 准备时间为第2周到第4周,具体集中实验时间为第4周第2次课。2个学时。 三..实验内容 1.建立一个N个学生
作者:编程之家 时间:2020-07-27
《数据结构》实验三: 栈和队列实验
一..实验目的 巩固栈和队列数据结构,学会运用栈和队列。 1.回顾栈和队列的逻辑结构和受限操作特点,栈和队列的物理存储结构和常见操作。 2.学习运用栈和队列的知识来解决实际问题。 3.进一步巩固程序调试方法。 4.进一步巩固模板程序设计 二..实验内容 1.自己选择顺序或链式存储结构,定义一个空栈类,并定义入栈、出栈、取栈元素基本操作。然后在主程序中对给定的N个数据进行验证,输出各个
作者:编程之家 时间:2020-07-27
《数据结构》实验四: 字符串和多维数组 实验
《数据结构》实验四: 字符串和多维数组 实验 一..实验目的 巩固字符串和多维数组相关知识,学会运用灵活应用。 1.回顾字符串和多维数组的逻辑结构和存储操作特点,字符和数组的物理存储结构和常见操作。 2.学习运用字符串和和数组的知识来解决实际问题。 3.进一步巩固程序调试方法。 4.进一步巩固模板程序设计。 三..实验内容 1.从键盘输入一些文本,统计文本单词的个数。 #inclu
作者:编程之家 时间:2020-07-27
《数据结构》实验三: 栈和队列实验
《数据结构》实验三: 栈和队列实验 一..实验目的 巩固栈和队列数据结构,学会运用栈和队列。 1.回顾栈和队列的逻辑结构和受限操作特点,栈和队列的物理存储结构和常见操作。 2.学习运用栈和队列的知识来解决实际问题。 3.进一步巩固程序调试方法。 4.进一步巩固模板程序设计。 二.实验时间 准备时间为第5周到第6周,具体集中实验时间为6周第2次课。2个学时。 三..实验内容 1
作者:编程之家 时间:2020-07-27
《数据结构》实验四: 字符串和多维数组 实验
#include<iostream> #include<cstring> using namespace std; int main() { int count,state; char *p; count=0; state=1; char s[50]; cout<<"请输入文本"<<endl;
作者:编程之家 时间:2020-07-27
《数据结构》实验一: VC编程工具的灵活使用
《数据结构》实验一:VC编程工具的灵活使用 一、实验目的 复习巩固VC编程环境的使用,以及C++模板设计。 1、回顾并掌握VC单文件结构程序设计过程。 2、回顾并掌握VC多文件工程设计过程 3、掌握VC程序调试过程。 4、回顾C++模板和模板的程序设计。 二、实验内容 1、 设计一个单文件结构程序完成从键盘输入两个数,输出二者的“和”和“积”的结果。要求如下: 1)设计函数来计算“和”和
作者:编程之家 时间:2020-07-27
《数据结构》实验三: 栈和队列实验
《数据结构》实验三: 栈和队列实验 一.实验目的 巩固栈和队列数据结构,学会运用栈和队列。 1.回顾栈和队列的逻辑结构和受限操作特点,栈和队列的物理存储结构和常见操作。 2.学习运用栈和队列的知识来解决实际问题。 3.进一步巩固程序调试方法。 4.进一步巩固模板程序设计。 二.实验内容 1.自己选择顺序或链式存储结构,定义一个空栈类,并定义入栈、出栈、取栈元素基本操作。然后在主程序
作者:编程之家 时间:2020-07-27
《数据结构》实验二: 线性表实验
一..实验目的 巩固线性表的数据结构,学会线性表的应用。 1.回顾线性表的逻辑结构,线性表的物理存储结构和常见操作。 2.学习运用线性表的知识来解决实际问题。 3.进一步巩固程序调试方法。 4.进一步巩固模板程序设计。 二.实验时间 准备时间为第2周到第4周,具体集中实验时间为第4周第2次课。2个学时。 三..实验内容 1.建立一个N个学生成绩的顺序表,对表进行插入、删除、查找等操
作者:编程之家 时间:2020-07-27
《数据结构》实验三: 栈和队列实验
《数据结构》实验三: 栈和队列实验 一.实验目的 巩固栈和队列数据结构,学会运用栈和队列。 1.回顾栈和队列的逻辑结构和受限操作特点,栈和队列的物理存储结构和常见操作。 2.学习运用栈和队列的知识来解决实际问题。 3.进一步巩固程序调试方法。 4.进一步巩固模板程序设计。 二.实验内容 1.自己选择顺序或链式存储结构,定义一个空栈类,并定义入栈、出栈、取栈元素基本操作。然后在主程序
作者:编程之家 时间:2020-07-27
《数据结构》实验三: 栈和队列实验
《数据结构》实验三: 栈和队列实验 一..实验目的 巩固栈和队列数据结构,学会运用栈和队列。 1.回顾栈和队列的逻辑结构和受限操作特点,栈和队列的物理存储结构和常见操作。 2.学习运用栈和队列的知识来解决实际问题。 3.进一步巩固程序调试方法。 4.进一步巩固模板程序设计。 二.实验时间 准备时间为第5周到第6周,具体集中实验时间为6周第2次课。2个学时。 三..实验
作者:编程之家 时间:2020-07-27
【数据结构】 第一章 绪论
§1.1 什么是数据结构 数据结构是介于数学 计算机软件和计算机硬件三者之间的一门核心课程。 §1.2 基本概念和术语 数据结构通常有下列4种基本结构 ①集合 ②线性结构 ③树形结构 ④图状结构(网状结构) 数据结构是一个二元组: Data Structure = (D,S) D表示 数据元素的有限集 S表示 D上关系的有限集 数据的储存结构有顺序储存结构和链式储存结构(指针) 抽象数据类型(AD
作者:编程之家 时间:2020-07-27
【数据结构】单链表
#include <stdio.h> #include <stdlib.h> #include <STRING.H> typedef struct LinkNode { int date; //数据域 struct LinkNode * next; }linkNode; typedef struct Linklist { int length; linkNode *head
作者:编程之家 时间:2020-07-27
【数据结构】第二章 线性表
§2.1线性表的定义 §2.2线性表的顺序表示和实现 优点:随机存储 §2.3线性表的链式表示和实现 链式表示优点:灵活 缺点:不随机存储 2.3.1线性链表:储存单元可以是连续的 也可以是不连续的。 对于数据元素ai来说,除了存储其本身的信息之外,还需存储一个指示其直接后续的信息 (即直接后继的储存位置)每个结点包括数据域和指针域,线性链表每个结点只包含一个指 针域。 头指针
作者:编程之家 时间:2020-07-27
【数据结构】顺序栈
#include <STDIO.H> #include <STRING.H> #include <STDLIB.H> typedef struct SeqStack { int length; int top; char *data; }seqstack; seqstack* CreatStack(seqstack *s,int n) { s=(seqstack *)malloc(siz
作者:编程之家 时间:2020-07-27
【数据结构】图的遍历方法 深度优先遍历和广度优先遍历
接着上次的文章“图的构建(邻接链表法)”,邻接链表法构建图相对来说比较简单,并且遍历起来也相对简单,但是要是动态添加图的节点和图的边,则是实在不方便,不过现在不管那么多,今天的主题是遍历。 - 有另外一种图的构建方法,叫做十字链表法,插入删除比较方便,但是相对来说比较复杂,改天闲着木事的再搞。(其实主要原因是因为三四年前写的代码,现在翻出来了,现成的,尼玛现在让我从头写那么复杂的数据结构,死的心
作者:编程之家 时间:2020-07-27
【数据结构】红黑树
红黑树是一种二叉平衡树,在每一个结点增加了一个存储位表示结点的颜色,以维持它的平衡; 红黑树性质 (1)红黑树结点有如下域:color,key,left,right,p;我们把这些NIL结点是为指向外结点的指针,可以自己定义; (2)每一个结点不是红的就是黑的,根节点和NIL结点都是黑的; (3)如果一个节点是红的,那么它的父亲和两个孩子都是黑的; (4)对于每一个结点,它到其子
作者:编程之家 时间:2020-07-27
【数据结构】散列表
散列表是典型的以空间换取时间的数据结构;它在插入、删除、查找操作上也具有常数平均时间的表现,但是这种表现是以统计为基础的; 基本知识 (1)负载系数,指元素的个数除以表格大小,除非采用开链法(拉链法),否则负载系数应该在0~1之间; (2)对应像字符串类型、float这样的类型,如何映射到表上,这时候使用散列函数hash function;hash function带来的问题是可能有不
作者:编程之家 时间:2020-07-27
【数据结构】栈
数据结构定义头文件common.h #ifndef __HI_COMM_H__ #define __HI_COMM_H__ #include <stdlib.h> #include <stdio.h> #include <malloc.h> #include <string> #define LIST_INIT_SIZE 100 /*线性表存储空间的初始分配量;*/ #define LIS
作者:编程之家 时间:2020-07-27
【数据结构】队列
队列结构定义common.h #ifndef __HI_COMM_H__ #define __HI_COMM_H__ #include <stdlib.h> #include <stdio.h> #include <malloc.h> #include <string> #define LIST_INIT_SIZE 100 /*线性表存储空间的初始分配量;*/ #define LIST_I
作者:编程之家 时间:2020-07-27
【数据结构】链表
链表是数据结构课程的第一讲,也是最为简单的数据结构。其基本结构是一个包含有值和另一个节点地址或索引的对象。逐个对象因为上一级(前驱)的索引而一一相连,形成了一个链状的线性结构。链表可以灵活地增加或者减少节点的个数,当时需要增加时,临时向系统申请一块内存,并建立索引。因此与数组不同,链表的节点可以分布于内存中的任何地方,它们并不是一个有序相邻放置的结构尽管在程序应用上,我们将其视为一个线性表。因为节
作者:编程之家 时间:2020-07-27
【数据结构】红黑树
红黑树 目的 在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。 效率 查找,插入和 删除 时间复杂度:O(log n) ,n 是树中元素数目。 性质 节点是红色或黑色。 根节点是黑色。 每个叶节点(NIL节点,空节点)是黑色的。 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点) 从任一节点到其每个叶子的所有路径都包含相同数目的
作者:编程之家 时间:2020-07-27
【数据结构】基本概念
作者:郭孝星 微博:郭孝星的新浪微博 邮箱:
[email protected]
博客:http://blog.csdn.net/allenwells Github:https://github.com/AllenWells 一 基本概念和术语 数据结构 数据结构:数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及他们之间的关系和操作等相关问题的学科。 数据 数据:是描述客观事物的符号,
作者:编程之家 时间:2020-07-27
《数据结构》——排序
一、 概述 排序(Sorting)是数据处理中一种很重要的算法。一般情况下,排序操作在数据处理过程中要花费许多时间,为了提高计算机的运行效率,人们提出不断改进的排序算法,这些算法也从不同种角度展示了算法设计的某些重要原则。谈到了计算的效率,就得说说算法的时间复杂度与空间复杂度,在排序中的时间复杂度指的是键值比较的次数和记录移动的次数。空间复杂度为该算法所耗费的存储空间。下面我
作者:编程之家 时间:2020-07-27
【数据结构】堆
堆 这种数据结构。一般堆用来实现优先级队列。优先级队列:和通常的栈和队列一样,只不过里面的每个元素都有一个“优先级”,在处理的时候,首先处理优先级最高的。通常包含三个操作getMax/delMax/insert 栈和队列算是优先级队列的特例。 使用其他数据结构均不能同时在O(lgn)的复杂度下完成。至少有一种操作要耗时O(nlgn).比如链表的插入操作O(1),但是获取最大值必须遍历链表。 可以使
作者:编程之家 时间:2020-07-27
上一页
7
8
9
10
11
12
13
14
下一页
小编推荐
热门标签
更多
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