自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 问答 (1)
  • 收藏
  • 关注

原创 翻转栈(不可以用额外的数组空间和栈)

思路:采用递归的方法实现,注意分情况处理:栈中只有一个元素,栈中元素至少两个元素 代码:template<class T> void reverseStack(stack<T> s){ if(s.empty()) return; else { //判断栈中是不是只有一个元素 T a=s.top(); s.pop(); if(s.empty()) {s.push(

2017-10-25 09:36:10 650

转载 DNS使用的是TCP协议还是UDP协议

原文:http://benbenxiongyuan.iteye.com/blog/1088085 DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类。但很少有人知道DNS分别在什么情况下使用这两种协议。 先简单介绍下TCP与UDP。 TCP是一种面向连接的协议,提供可靠的数据传输,一般服务质量要求比较高的情况,使用这个协

2017-10-17 16:07:46 872

原创 字符串的排列组合

求字符串所有组合 若不考虑字符串中有重复字符(即假设字符串中无重复字符) 描述:输入一个字符串,输出该字符串中字符的所有组合。举个例子,如果输入”abc”,它的组合有a、b、c、ab、ac、bc、abc。方法一:假设我们想在长度为n的字符串中求m个字符的组合。我们先从头扫描字符串的第一个字符。针对第一个字符,我们有两种选择:一是把这个字符放到组合中去,接下来我们需要在剩下的n-1个字符中选取m-

2017-10-16 21:15:52 780

原创 判断二叉树是否是平衡树

思路:在计算二叉树高度的同时,判断左右子树的高度差是否小于等于1 一边遍历树一边判断每个结点是否具有平衡性bool IsBalanced(TreeNode *root, int & dep) { if (root == NULL) { return true; } int left = 0; int right = 0; if (IsBala

2017-10-16 19:47:27 216

原创 非递归求二叉树的深度

可以利用层次遍历,记录层数即二叉树的深度(注意统计每一层结点的个数,以免影响记录层数)//借助层次遍历,非递归class Solution {public: int TreeDepth(TreeNode* pRoot) { queue<TreeNode*> q; if (!pRoot) return 0; q.push(pRoot)

2017-10-16 17:19:38 1363

原创 非递归实现二叉树的后序遍历、前序遍历、中序遍历

树的遍历可以用递归实现,一般情况下,能用递归解决的问题都可以用栈解决。 对于后续遍历,在父节点出栈时,需要判断左右孩子是否已经遍历过。可以定义一个新的结构体用于记录结点的左右孩子是否遍历过。vector<int> postOrder(TreeNode *root)//后序遍历{ vector<int> res; if (root == NULL) return res; T

2017-10-16 17:15:15 222

原创 求两个字符串的最长公共子序列的长度(动态规划)

题目: 输入字符串str1,对其翻转单词顺序列得到str2;(例如str1=“u r the best”,那么str2=“best the r u”);然后求这两个字符串的最长公共子序列的长度分析: 动态规划 详见http://blog.csdn.net/qq_27276951/article/details/51154696代码:#include<iostream>#include<stri

2017-10-11 11:10:39 4757

转载 贪心算法

题目大意:孩子有一个玩具,有n个部件组成,m条绳子组成,每条绳子连接两个部件。小孩比较顽皮,要将玩具拆成不可分割的部件,每次剪断一条绳子的代价是该绳子连接的两个部件的权值中较小的值。问说最小的总代价是多少。解题思路:以为每条边都是要被剪断的,所以将节点按照代价值从大到小排序,每次拿掉权值大的点,与该点连接并且还未剪断的边均用另外点的权值。#include <iostream>#include <c

2017-10-10 20:56:15 304

原创 谓词

英文单词字典排序#include<iostream>#include<string>#include<vector>#include<algorithm>using namespace std;bool mycompare(string str1,string str2){ if(str1<str2) return true; else re

2017-10-10 20:53:06 517

原创 希尔排序

#include<iostream>using namespace std;void shellsort(int arr[], int len) { int i, j, h, temp; for (h = len / 2; h >0; h = h / 2) { for (i = h; i < len; i++) { temp = arr[i

2017-10-09 16:06:48 174

转载 xgboost

登录 | 注册收藏成功确定收藏失败,请重新收藏确定*标题标题不能为空网址标签位置个人主页 - 我的知识同时保存至:选择知识图谱 选择知识图谱新建?

2017-10-02 19:41:31 504

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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