摘要:
头文件:#include用法:nth_element( start , start+k , start+n );作用:将第k大的元素放在第k个位置(0,1,2,...,k),并将比它小的放在它左面,比它大的放在它右面,不保证有序。代码实例:#include#inclu... 阅读全文
摘要:
背景:今天在用c语言写程序时遇到了一个问题:printf("%lf",double(r));竟然输出乱码(0.000000),浏览了几十个网页之后,大致找到了问题原因。结论:在c语言中,double类型的读入必须用"%lf";输出必须用"%f"解释:double和fl... 阅读全文
摘要:
个人笔记,仅供复习1.概念1.1 定义:逆元素是指一个可以取消另一给定元素运算的元素,在数学里,逆元素广义化了加法中的加法逆元和乘法中的倒数。1.2 数论中定义:如果满足公式,a*b = 1(mod P),则a是b的逆元,同时b也是a的逆元。1.3 另一种定义:a*x... 阅读全文
摘要:
目标:使用Java语言用字符‘*’打印出圆形。思路:假设要打印一个半径为r的圆,那么圆上的每个点到圆心距离都是r,而我们又知道了圆心的坐标(r,r),故可以知道当某个点距圆心距离为r时就打印‘*’。于是可以用len来表示圆在该行的弦长,而弦两侧要输出‘*’。注意事项:... 阅读全文
摘要:
1.定义二叉树:二叉树是每个结点最多有两个子树的树结构。 二叉搜索树:二叉搜索树(Binary Search Tree),它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结... 阅读全文
摘要:
解析:这题我学了一天AVL树的调整,建好了树,又用了一个多小时尝试各种方法判断是否为完全二叉树,最后败在了输出层次遍历上。。解题步骤:建立AVL树,其中涉及AVL树的四种调整 输出层次遍历,用队列输出,不能用stack! 判断一棵树是否为完全二叉树,可以给每个节点编号... 阅读全文
摘要:
原题链接:PAT1127解析:本题要求按s形层次遍历二叉树,如此一来建树就成了首要目的,然后再利用栈的先进后出的特性来s形遍历。于是难点主要放在了如何根据后序遍历和中序遍历来建立一颗二叉树。代码实例:#include#include#include#includeus... 阅读全文
摘要:
原题链接:AC Challenge解析:题目要求求出最大分数,一共最多只有20题,故最多只有2^20种不同的状态,本题可以求出每一种状态的得分,取最高分即为答案(注:若最高分为负,则答案为0,对应题目中太简单而离开)注意细节:有的题目前置条件可能是先完成它自己(故此题... 阅读全文
摘要:
原题链接:PAT1135解析:以前只是听说过红黑树,但是这次是第一次接触红黑树,如果考试时出现这种没看过的数据结构,挺麻烦的。判断一个二叉树是否为红黑树有三个条件:根节点是否为黑色 红色节点的子节点是否为黑色 每条路径上的黑色节点数量是否相同错误报告:主要是建树方面出... 阅读全文
摘要:
原题链接:UVa10168解析:当n#include#include#includeusing namespace std;const int maxn = 10000000;int vis[maxn];int primes[maxn];int main(){ int... 阅读全文