数据结构与算法
link_98
越努力越幸运
展开
-
交换二叉树的左子树和右子树
#include typedef struct BiTNode { int data; struct BiTNode *lchild, *rchlid;}BiTNode,*BiTree;bool ChangLR(BiTree T){ if (T->lchild == NULL && T->rchlid == NULL) { return false; } else原创 2016-11-06 09:23:20 · 4921 阅读 · 0 评论 -
求二叉树中的第一条最长路径长度,并输出最长路径上的节点
#include #define MaxSize 1000typedef struct BiTNode { int data; struct BiTNode *lchild, *rchild;}BiTNode,*BiTree;void LongestPath(BiTree bt)//求二叉树中的第一条最长路径长度,并输出最长路径上的节点{ BiTree p = bt, l[Ma原创 2016-11-06 09:33:18 · 13627 阅读 · 8 评论 -
有序树转二叉树
注:本文主要思想来自文章: 有序树转二叉树!在此谢谢原作者,我只是在看完后自己又动手写了一遍。#include #include using namespace std;//int flag = 0;typedef struct BiTNode { struct BiTNode *Child, *Brother; //孩子兄弟储存 int exist; BiTNode(转载 2016-11-20 17:12:37 · 1470 阅读 · 0 评论 -
<HDU>HDU刷题顺序!
转自:http://blog.csdn.net/liuqiyao_01/article/details/8477645 第一阶段:开始入门吧!(15天,53题) 一.输入输出练习(2天,10题) 1000、1089—1096、1001 二.简单操作:(2—4天,12题) 2000—2011、2039 三.英文题试水(3—4天,8题转载 2017-02-24 14:05:30 · 13712 阅读 · 0 评论 -
<HDU 2089>不要62 (数位DP是什么?)
不要62Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 39696 Accepted Submission(s): 14455Problem Description杭州人称那些傻乎乎粘嗒嗒的人为62(音:lao原创 2017-03-05 09:54:09 · 297 阅读 · 0 评论 -
递归的基本原则
编写递归时,最重要的有以下三点:递归总有一个最简单的情况——方法的第一条语句总是包含一个return的条件语句递归调用总是尝试解决一个规模更小的子问题,这样递归才能收敛到最简单的情况。递归调用的父问题和尝试解决的子问题之间不应该有交集。违背以上原则写出的代码可能是错误的或者低效的。原创 2017-10-21 09:44:27 · 1030 阅读 · 0 评论 -
Java取余操作时的符号问题
上课时只听老师说过,Java取余的操作的符号位是和被除数一致的,但不知道为啥例如:-14%3 余数是 -214%-3 余数是 2后来才知道,对余数的定义是 (a/b)*b + a%b 恒等于 a这样的话,-14/3*3的结果是-4*3 = -12,所以余数是-2;14%3同理啦原创 2017-10-21 10:30:01 · 1241 阅读 · 0 评论 -
《算法图解》示例代码的实现
这几天看了《算法图解》,把里面的示例代码都实现了一边,在 github 上找到了一位朋友的仓库,fork 了他的。里面有我们添加的 Python,Java,C++的实现,欢迎大家 fork!!!附上网址:https://github.com/lynxux/AlgorithmDiagram原创 2018-01-02 22:05:35 · 2423 阅读 · 1 评论