Jaster_wisdom的专栏

待到山花烂漫时,她在丛中笑

九度OJ 1078

题目描述: 二叉树的前序、中序、后序遍历的定义: 前序遍历:对任一子树,先访问跟,然后遍历其左子树,最后遍历其右子树; 中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树; 后序遍历:对任一子树,先遍历其左子树,然后遍历其右子树,最后访问根。 给定一棵二叉树的前序遍历...

2016-05-31 21:51:44

阅读数:435

评论数:0

九度OJ 1172

题目描述: 哈夫曼树,第一行输入一个数n,表示叶结点的个数。需要用这些叶结点生成哈夫曼树,根据哈夫曼树的概念,这些结点有权值,即weight,题目需要输出所有结点的值与权值的乘积之和。 输入: 输入有多组数据。 每组第一行输入一个数n,接着输入n个叶节点(叶节点权值不超过1...

2016-05-31 21:12:52

阅读数:585

评论数:0

九度OJ 1019

题目描述:     读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。 输入:     测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。 ...

2016-05-31 17:39:54

阅读数:555

评论数:0

九度OJ 1153

题目描述:     在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。不能匹配的左括号用"$&...

2016-05-31 16:29:39

阅读数:691

评论数:0

九度OJ 1052

题目描述: 输入一个数n,然后输入n个数值各不相同,再输入一个值x,输出这个值在这个数组中的下标(从0开始,若不在数组中则输出-1)。 输入: 测试数据有多组,输入n(1 输出: 对于每组输入,请输出结果。 样例输入: 2 1 3 0 样...

2016-05-31 15:52:15

阅读数:360

评论数:0

九度OJ 1202

题目意思是,输入n,表示n个数,然后输入这n个数,最后输出这从小到大的n个数。 这道排序题因为数量规模在1~100之间,所以几乎用所有的排序算法都不会超时,我这里用的是这样的方法,类似冒泡排序。 首先第一轮循环,将每一个数字与后面的数字进行比较,如果它的值比后面的值要大,则进行交换。否则顺序保...

2016-05-31 15:38:51

阅读数:553

评论数:0

输出打印杨辉三角(队列实现及数组递推实现)

输出打印杨辉三角属于队列实现的例子。 杨辉三角的特点我们都知道,每行的数字等于其上层左右两个数字之和。 通过队列,将输出的数字保存入队,因为后面的数字需要用到前面的数字和的运算。第一行的1是默认直接入队输出的,每行的最后一个1也是默认输出的,它与前面的数字没有关系。其他的数字可以通过队...

2016-05-29 17:35:42

阅读数:2613

评论数:0

算术表达式的计算(栈的应用)

受大一学妹沈灵邀请,编了一个计算算术表达式的程序,主要运用栈来实现,具体思想参照,《数据结构》胡学刚,张晶主编第2章栈的应用 首先,我们建立两个栈,一个用来保存数字,一个用来保存字符。对于输入的字符串,每当遇到数字就将其放入到数字栈中,遇到运算符或者括号就将其放入到字符栈中。 在程序的开始我写...

2016-05-29 16:51:30

阅读数:1214

评论数:0

测试C++程序运行的时间

参加一个公司的笔试,给了两个题目,时间要求是越快越好,这时候就要求我们在编写程序之后测试程序所需的时间,尽量做到最小。 在C++中计算运行的时间是调用clock函数,使用clock函数获得程序开始和结束所需的时间,相减就得到程序所花的时间。 clock()是C/C++中的计时函数,而与其相关的...

2016-05-26 22:29:16

阅读数:12462

评论数:0

深度学习(Deep Learning)

1.1概述 1.1.1深度学习概念 深度学习利用多层神经网络结构,从大数据中学习现实世界中各类事务能直接被用于计算机计算的表示形式,被认为是智能机器可能的“大脑结构”。 简单的说,深度学习,就是使用多层神经网络来进行机器学习。 神经网络,它是一个带参数的函数,通过调整参数,可以拟合不同的函...

2016-05-26 22:01:43

阅读数:1545

评论数:0

指针详解

指针详解 1.指针的概念 指针是一个特殊的变量,它存储的是内存里的一个地址。   2.指针的类型 当我们把指针声明语句里的指针名字去掉,那么剩下的部分就是这个指针的类型。 int  *ptr; //指针的类型是int * char*ptr;  //指针的类型是char * int...

2016-05-25 22:08:58

阅读数:724

评论数:0

POJ 1012

这是一道约瑟夫环问题的变种,大致意思就是,有2*k个人围成一圈,第一次从编号为1的人开始报数,报到m的人退出,接下来继续从退出的后一个人开始从1开始报,报到m的人再退出,问当m设置为多少的时候,后k个人先退出,然后前k个人才会依次退出? 思路:只要涉及到算法的题,我一般都不会做。。这道题我咋一看...

2016-05-25 10:48:44

阅读数:527

评论数:0

约瑟夫环问题

约瑟夫环问题属于数学问题,大概意思是这样的:一群人围成一圈,编号1,2,3……N,给定一个间隔数M,从1开始报数,报到M的人退出,然后余下的人再从1开始报数,报到M的人再退出,求最后留下那个人的编号。 分析:约瑟夫环问题如果在时间允许的条件下,完全可以用程序模拟这个过程,不过我第一次还是没写出来...

2016-05-24 22:42:46

阅读数:536

评论数:0

经典排序之选择排序

选择排序 基本思想: 选择排序算法采用的方法比较直观:通过在待排序子表中完整地比较一遍以确定最大(小)元素,并将元素放在子表的最前(后)面。   时间复杂度: O(n*2)   稳定性分析:该算法是不稳定排序,因为关键字相同的元素在排序过程中可能会交换次序。例如,对数据表(3,3,2)...

2016-05-24 18:57:42

阅读数:413

评论数:0

经典排序之希尔排序

希尔排序 基本思想: 将待排序的序列分为若干组,在每组内进行直接插入排序,以使整个序列基本有序,然后再对整个序列进行直接插入排序。 该方法实质上是一种分组插入方法。 具体来说,先取一个小于n的整数d1作为增量,把文件的全部记录分组。所有距离为d1的倍数的记录放在同一个组中。现在各组内进行直接插入排...

2016-05-24 18:22:38

阅读数:1700

评论数:0

经典排序算法之冒泡排序

冒泡排序 基本思想: 从一端开始,逐个比较相邻的两个元素,发现倒序则交换。典型的做法是从后往前,或从下往上逐个比较相邻的元素,发现倒序就进行交换。一轮比较之后,一定可以将最大的元素交换到其最终位置上。   时间复杂度:O(n*2)   稳定性分析:稳定的排序算法 这里说明一下,何为排序算法的稳...

2016-05-24 16:20:04

阅读数:590

评论数:0

二叉排序数的基本操作(构造、插入、删除)

首先,给出二叉排序树的定义: 二叉排序树是一棵二叉树,它或者为空,或者满足以下条件: 1.若左子树不空,则左子树上所有结点的值均小于根的值 2.若右子树不空,则右子树上所有结点的值均大于根的值 3.其左右子树均为二叉排序树 我们根据定义可以知道,二叉排序树的中序序列是非降序序列 ...

2016-05-23 21:58:51

阅读数:798

评论数:0

顺序表的查找

查找的定义是:对给定的一个关键字的值,在数据表中搜索出一个关键字的值等于该值的记录或者元素,若找到了指定的元素,则称为查找成功,通常是返回该元素在查找表中的位置;若不存在指定的元素,则返回一个表示失败的值。 查找算法根据存储数据的结构不同可以分为以下三种:顺序表,也就是数组、树表、散列表等 其...

2016-05-23 09:52:49

阅读数:515

评论数:0

const关键字详解

const是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或者对象的值是不能被更新的。 在C++中,const允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器这个值是不可改变的。如果在程序中确实有哪个值保持不变,就应该使用const修饰,...

2016-05-22 16:19:57

阅读数:198

评论数:0

静态变量

静态变量就是用static修饰的类型,静态变量属于静态存储方式,其存储空间为内存中的静态数据区。在该区域中的数据在整个程序的运行期间一直占用这些存储空间,直到整个程序运行结束。   这里要注意一点,静态变量并不是说其值就不能改变,不能改变值的是常量。其拥有的值是可变的,而且它会保持最新的值。所...

2016-05-21 23:01:21

阅读数:594

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭