自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Yates Law的博客

前瞻而不慌张,鸡血而不鲁莽

  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 二叉搜索树的前序遍历

二叉搜索树:空树或者满足下列条件:若左子树不空,则左子树上所有结点的值都小于根节点。若右子树不空,则右子树上所有结点的值都大于根节点。为了判断一个数组是否为一棵二叉搜索树的前序遍历,主要思想为:因前序遍历第一个遍历的是根节点,则数组第一个数为根节点的值,再基于根节点把整棵树的遍历序列分成左子树和右子树序列,递归的处理这两个子序列。代码如下:#include <iostream>#includ

2017-03-31 17:46:59 1910

原创 链表的中间节点和判断链表是否为环形链表

基本思想:设置两个指针,都指向链表的头节点。两个指针同时从链表的头节点出发,一个指针每次走一步,另一个指针每次走两步。1.走得快的指针走到链表末尾时,走得慢的指针刚好指向链表的中间节点。2.走得快的指针如果追的上走得慢的指针,则链表为环形链表,反之不是。代码如下:#include <iostream>#include <stdexcept>using namespace std;struct

2017-03-29 17:09:26 303

原创 两个队列实现栈

基本思想:队列尾的元素即是栈顶元素。 push操作时,把元素全部放入队列1。 pop操作时,如果队列1的元素数量不为1,先把队列1的元素依次放入队列2,直到队列1的元素数量为1,得到队列1的头元素,即为栈顶元素。然后把队列2的元素重新放回队列1。 top操作跟pop操作类似。只是在得到队列1头元素之后把头元素放回了队列2。然后把队列2的元素重新放回队列1。#include <iostream>

2017-03-27 16:54:10 241

转载 排序算法总结

转载于 http://www.cnblogs.com/vinozly/p/5606132.html 各种排序算法的稳定性和时间复杂度小结 选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。 冒泡法:  这是最原始,也是众所周知的最慢的算法了。他的名字的由来

2017-03-23 14:26:05 403

原创 堆排序总结

堆的定义:n个元素的序列{k1,k2,…,kn}当且仅当满足下列关系时,称之为堆。(1)ki<=k(2i)且ki<=k(2i+1)(1≤i≤ n/2),当然,这是小根堆,大根堆则换成>=号。//k(i)相当于二叉树的非叶子结点,K(2i)则是左子节点,k(2i+1)是右子节点堆可以看成一个完全二叉树,其所有非叶子节点的值均不大于(或不小于)其左,右孩子节点的值。主要思想:将一个无序序列(n个元素用数

2017-03-13 23:22:16 264

转载 构造函数与折构函数调用顺序

构造函数先看看构造函数的调用顺序规则,只要我们在平时编程的时候遵守这种约定,任何关于构造函数的调用问题都能解决;构造函数的调用顺序总是如下: 1.基类构造函数。如果有多个基类,则构造函数的调用顺序是某类在类派生表中出现的顺序,而不是它们在成员初始化表中的顺序。 2.成员类对象构造函数。如果有多个成员类对象则构造函数的调用顺序是对象在类中被声明的顺序,而不是它们出现在成员初始化表中的顺序。 3.

2017-03-13 00:20:48 655

转载 TCP与UDP区别

TCP和UDP是两个传输层协议,广泛应用于网络中不同主机之间传输数据。对任何程序员来说,熟悉TCP和UDP的工作方式都是至关重要的。这就是为什么TCP和UDP是一个流行的Java编程面试问题。我曾经在各种不同的Java面试中见过这个问题,尤其是对服务器端Java开发人员的面试。由于FIX(金融信息交换)协议也是一个基于TCP协议,一些投资银行,对冲基金,和交换解决方案提供商也在寻找有良好的TCP和U

2017-03-10 12:46:08 603

原创 TCP/IP 协议三次握手与四次挥手

TCP即传输控制协议,提供一种面向连接,可靠的字节流服务。 TCP有6个标志位:URG:紧急指针ACK:确认序号有效PSH:接收方应该尽快将这个报文段交给应用层RST:重建连接SYN:同步序号用来发起一个连接,FIN:发端完成任务。1.TCP 三次握手第一次握手:客户端将标志位SYN置1,随机产生一个服务端初始序列值J,并将包含J值的SYN数据包发送给服务端,指明客户打算连接服务端的

2017-03-10 11:44:54 362

转载 vim编辑器的使用

简明 Vim 练级攻略 简明 Vim 练级攻略 2011年09月07日 陈皓 评论 517 条评论 694,625 人阅读 vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看

2017-03-06 09:48:00 264

转载 C++ 虚函数表解析

C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel  前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数

2017-03-05 13:38:40 239

原创 从尾到头打印链表

问题:输入一个链表的头结点,从尾到头打印出每个结点的值。解题思路:典型的后进先出的问题。可以利用栈来实现。从头开始,每遍历一个节点,将其压入栈中,直到遍历之后,从栈顶依次输出每个结点。#include <stack>#include <stdio.h>#include <stdlib.h>struct ListNode{ int m_nValue; ListNod

2017-03-02 13:26:04 351

原创 包含min函数的栈

问题描述:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。调用min,push,及pop的时间复杂度都是O(1).解题思路:定义两个栈,一个数据栈,存放push进来的元素,另一个辅助栈,存放栈的最小元素。每次压入元素的时候,判断该元素是否与辅助栈的栈顶元素的大小关系,如果小于辅助栈栈顶元素则将其压入辅助栈,不然则压入原先最小的元素。#include <stack>#incl

2017-03-01 18:25:27 267

原创 单向链表的倒数K个节点

输入一个单向链表,输出该链表中倒数第K个节点。#include <iostream> struct ListNode//节点数据结构 { int m_nKey; ListNode* m_pNext; ListNode(const int &value):m_nKey(value),m_pNext(nullptr){}}; ListNode

2017-03-01 11:02:06 327

mars第一季到第五季源码

mars第一季到第五季源码

2014-02-08

空空如也

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

TA关注的人

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