- 博客(11)
- 收藏
- 关注
原创 swust-oj 411售货员的难题
题目描述某乡有n个村庄(1< n < 20),有一个售货员,他要到各个村庄去售货,各村庄之间的路程s(0 < s < 1000)是已知的,且A村到B村与B村到A村的路大多不同。为了提高效率,他从商店出发到每个村庄一次,然后返回商店所在的村,假设商店所在的村庄为 1,他不知道选择什么样的路线才能使所走的路程最短。请你帮他选择一条最短的路。输入村庄数n和各村之间的路...
2019-06-23 08:48:18
3551
原创 学习总结-查找方法
定义:查找就是在给定的数据结构中找到某个指定的元素。不同的数据结构应该采用不同大的查找方法。查找的效率直接影响到数据处理的效率。查找方法有:顺序查找、二分法查找1、顺序查找: 从第一个元素开始比较,依次将要查找的元素与表中的元素进行比较,直到找到(查找成功),找不到(查找失败)。 缺点: 平均查找元素的次数是一半以上。 适用于: 无序线性表(包括线性和链式)二分法查找:...
2018-02-25 19:29:21
448
原创 学习总结-树与二叉树二
1、二叉树:一种很有用的非线性结构。2、二叉树的特点: 非空二叉树只有一个结点:每个结点只有一个子树,且分别为左子树和右子树3、二叉树的基本性质 性质一、在二叉树的的k层上,最多有2 (k-1) 次方个结点; 性质二、深度为m 的二叉树,最多有2(m)次方-1个结点; 性质三、任意一个二叉树,度数为0 的叶子节点比度数为2 的结点多一个; 性质四、具有n 个结点,其深度至少...
2018-02-24 20:15:07
291
原创 学习总结-树与二叉树一
I、树的基本概念 树是一种简单的非线性结构。 树的图形中都可用直连连接的两端结点,上端结点是前件,下端结点为后件。2、树结构的有关术语:①根结点: 最上的根结点,没有前件。而每一个结点只有一个前件,其他的结点(除根结点) 叫父结点;②叶结点: 没有后件的结点;③子结点: 每一个结点可以有多个后件:④结点的度: 结点有后件的个数;⑤树的度: 结点中最大的结点度;⑥树的深度: 总共有儿层;...
2018-02-24 17:11:31
586
原创 学习总结-队列
1、队列及其运算在操作系统中,用线性表来组织管理用户程序的排队执行,原则是:初始时线性表为空;①当用户程序来时,将其排在队尾等候;②当执行完当前的用户程序时,就从线性表的头部取程序执行。队列是指允许在一端(队头) 插入,在另一端(队居) 删除的特殊线性表。队头指针为front,是指向排头的前一个位置: 队尾指针为rear,指向队列中的队尾元素。两指针都随着变化的。遵循“先进先出”“后进后出”往队列...
2018-02-23 23:41:55
641
原创 学习总结-栈
1、栈及其基本运算 栈是特殊的线性表 栈是只是(限定) 在-端进行插入与删除的特殊的线性表。 栈顶是允许插入与删除的那一端: 栈底是不允许的那一端。遵循“先进后出”“后进先出”的原则; 栈具有记忆功能总有一个top指针指向栈顶,一个bottom指向栈底:往栈中插入一个元素叫进栈运算; 从栈中删除一个元素叫出栈运算。2、栈的顺序存储及其运算 栈可顺序存放的一堆数组S (1:m...
2018-02-23 23:28:00
3657
原创 学习总结-线性表及其顺序存储结构
1、非空线性表的结构特点 ①有且只有一个根结点a1,它没有前件; ②有且只有一个终端节点a2,它没有后件; ③其它的中间结点有且只有一个前件,也有且只有一个后件; ④线性表的结点个数n为线性表的长度,当n=0时,为空表。2、线性表的顺序存储结构 ①线性表中所有元素所占的存储空间是连续的; ②线性表中各数据元素在存储空间中都是按逻辑顺序依次存放的; ③在线性...
2018-02-22 17:16:41
898
原创 swust-oj 0237心得
题目:给你N个正整数,求两两之差的绝对值之和。 比如有4个数分别为 3,2,6,5, 则答案为 |3-2| + |3-6| + |3-5| + |2-6| + |2-5| + |6-5| =14我试了三种方法,代码片段如下一: for(i=0;i<n;i++) { scanf("%d",&a[i]); } for(i=0;i<n-1;i++) ...
2018-02-13 16:40:30
355
原创 学习总结-初识C++
对于C++与C语言的不同,下面是一个简单的C++程序#include<iostream>using namespace std;int main(){ cout<<"Hello!"<<endl; cout<<"Welcome to C++!"<<endl; return 0; } 头文件由“#include<std
2018-02-11 17:44:44
286
原创 学习总结-时间复杂度分析
时间复杂度可以表示某个算法的运行时间的趋势,大致地度量算法效率的好坏。一个算法的执行时间可以由其中基本运算的执行次数来计算。算法中基本运算次数执行次数T(n)是问题规模n的某个函数f(n),记作:T(n)=O(f(n))计算算法复杂度O的大致方法:1.得出运行时间的函数 2.对函数进行化简
2018-02-06 08:33:45
654
原创 学习总结-线性表一
抽象数据类型线性表的基本运算 InitList(&L):初始化线性表,构造一个空的线性表。 DestroyList(&L):销毁线性表,释放线性表L占用的内存空间。 ListEmpty(L):判断线性表是否为空表,若L为空表,则返回真,否则返回假。ListLength(L):求线性表的长度返回L中元素的个数。DispList(L):输出线性表,当线性表L不为空时,顺序显
2018-02-01 22:32:52
502
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅