自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想。

  • 博客(42)
  • 资源 (14)
  • 收藏
  • 关注

原创 Intersection of Two Linked Lists

题目:Write a program to find the node at which the intersection of two singly linked lists begins.For example, the following two linked lists:A: a1 → a2 ↘

2015-03-31 21:08:54 628

原创 Merge Two Sorted Lists(LeetCode)

题目:Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists./** * Definition for singly-linked list. * struct

2015-03-31 20:19:18 507

原创 Remove Duplicates from Sorted List

题目:Given a sorted linked list, delete all duplicates such that each element appear only once.For example,Given 1->1->2, return 1->2.Given 1->1->2->3->3, return 1->2->3.代码如下:/** * Defi

2015-03-31 19:24:45 491

原创 Remove Nth Node From End of List

Given a linked list, remove the nth node from the end of list and return its head.For example,

2015-03-31 18:48:16 589

原创 堆的动态操作(插入、删除、调整)

堆有最大堆和最小堆之分,最大堆就是每个节点的值都>=其左右孩子(如果有的话)值的完全二叉树。最小堆便是每个节点的值都<=其左右孩子值的完全二叉树。

2015-03-31 10:44:50 5755 1

原创 双堆求中位数

双堆求中位数算法描述:1、创建两个堆(一个小根堆、一个大根堆),堆大小至少为给定数据个数的一半,向上取整;2、假定变量mid用来保存中位数,取定第一个元素,赋值给mid,即作为初始的中位数;3、依次遍历后面的每一个数据,如果比mid小,则插入大根堆;否则插入小根堆;4、如果大根堆和小根堆上的数据个数相差为2,则将mid插入到元素个数较少的堆中,然后从元素个数较多的堆中删除根节点,并将跟节点赋值给mid;5、重复步骤3和4,直到所有的数据遍历结束;此时,mid保存了一个数,再加上两

2015-03-31 10:40:06 3170

原创 外排序

外排序外排序(External sorting)是指能够处理极大量数据的排序算法。通常来说,外排序处理的数据不能一次装入内存,只能放在读写较慢的外存储器(通常是硬盘)上。外排序通常采用的是一种“排序-归并”的策略。在排序阶段,先读入能放在内存中的数据量,将其排序输出到一个临时文件,依此进行,将待排序数据组织为多个有序的临时文件。尔后在归并阶段将这些临时文件组合为一个大的有序文件,也即排序结果。

2015-03-30 22:50:24 866

原创 胜者树和败者树

胜者树和败者树都是完全二叉树,是树形选择排序的一种变型。每个叶子结点相当于一个选手,每个中间结点相当于一场比赛,每一层相当于一轮比赛。 不同的是,胜者树的中间结点记录的是胜者的标号;而败者树的中间结点记录的败者的标号。 胜者树与败者树可以在log(n)的时间内找到最值。任何一个叶子结点的值改变后,利用中间结点的信息,还是能够快速地找到最值。在k路归并排序中经常用到。

2015-03-30 18:54:30 896

原创 Balanced Binary Tree(LeetCode)

题目:Given a binary tree, determine if it is height-balanced.For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ by more than 1.

2015-03-30 16:12:01 750

原创 Minimum Depth of Binary Tree

Minimum Depth of Binary Tree Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.

2015-03-30 15:17:04 752

原创 Path Sum(LeetCode)

Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.

2015-03-30 12:06:44 788

原创 数据库索引

什么是索引拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为4K 。为了加快查找的速度,汉语字(词)典一般都有按拼音、笔画、偏旁部首等排序的目录(索引),我们可以选择按拼音或笔画查找方式,快速查找到需要的字(词)。同理,SQL Server允许用户在表中创建索引,指定按某列预先排序,从而大大提高查询速度。• SQL Server中的数据也是按页( 4KB )存放• 索引:是SQL S

2015-03-29 17:06:04 857

原创 Same Tree(LeetCode)

题目:Given two binary trees, write a function to check if they are equal or not.Two binary trees are considered equal if they are structurally identical and the nodes have the same value.递归方法解决:cl

2015-03-27 16:37:58 440

原创 二叉树的相关操作代码(继续补全中)

#ifndef BITREEOPERATION_H#define BITREEOPERATION_H#include#include#include#includetypedef char ElemType;typedef struct BiNode{ ElemType data; struct BiNode *lchild,*rchild;}BiNode,*BiTree;

2015-03-27 15:17:50 850

原创 Symmetric Tree[LeetCode]对称二叉树

https://leetcode.com/problems/symmetric-tree/题目:Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).For example, this binary tree is symmetric:

2015-03-27 15:10:19 1099

原创 类与类的UML图示

在UML2.0的13种图形中,类图是使用频率最高的两种UML图之一(另一种是用于需求建模的用例图),用于描述系统中所包含的类以及它们之间的关系,帮助人们简化对系统的理解,是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型。在设计模式中,可以使用类图来描述一个模式的结构并对每一个模式实例进行分析。类    类封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关

2015-03-26 23:04:13 1086 1

原创 设计模式

设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解并且保证代码的可靠性。

2015-03-26 22:23:42 661

原创 Java多例模式

多例模式又划分为有上限多例模式和无上限多例模式两种,没上限的多例模式和直接 new 一个对象没什么差别,此处不做记录。有上限多例模式:实际上是单例模式的推广,如果它的上限是1,那么就成了单例模式了.多例模式特点: 1. 多例类可以有多个实例 2. 多例类必须自己创建自己的实例,并管理自己的实例,和向外界提供自己的实例

2015-03-26 11:34:50 1937

原创 C++对象构造问题

#includeusing namespace std;class Base1{public: Base1(){ cout<<"Base1()"<<endl; } Base1(int a):base1a(a){ cout<<"Base1(int)"<<endl; }private: int base1a;};class Base2{public: Base2(

2015-03-24 20:36:26 806

原创 单例模式及C++实现代码

单例模式单例模式,可以说设计模式中最常应用的一种模式了,据说也是面试官最喜欢的题目。但是如果没有学过设计模式的人,可能不会想到要去应用单例模式,面对单例模式适用的情况,可能会优先考虑使用全局或者静态变量的方式,这样比较简单,也是没学过设计模式的人所能想到的最简单的方式了。一般情况下,我们建立的一些类是属于工具性质的,基本不用存储太多的跟自身有关的数据,在这种情况下,每次都去new一个对

2015-03-20 17:25:52 532

原创 单例模式(Java代码实现)

单例模式的定义单例模式确保类只有一个实例,并且提供一个全局的访问点。

2015-03-20 16:34:00 12870 2

原创 什么是注册表与注册表的作用

注册表(Registry)是微软公司从Windows95系统开始(至目前最新Win2000系统依然使用的是它),引入用于代替原先Win32系统里ini文件,管理配置系统运行参数的一个全新的核心数据库。在这个数据库里整合集成了全部系统和应用程序的初始化信息;其中包含了硬件设备的说明、相互关联的应用程序与文档文件、窗口显示方式、网络连接参数、甚至有关系到计算机安全的网络共享设置 。它与老的win32系统里的ini文件相比,具有方便管理,安全性较高、适于网络操作等特点。

2015-03-20 15:48:01 3732

原创 去除数组中的重复元素

开辟辅助空间和不开辟辅助空间去除数组中的重复值

2015-03-17 22:58:48 4407

原创 内排序小结

冒泡排序是一种交换排序,基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。

2015-03-17 10:51:15 823

原创 c++ 字符串常量

字符串常量,之所以称之为常量,因为它可一看作是一个没有命名的字符串且为常量,存放在静态数据区。这里说的静态数据区,是相对于堆、栈等动态数据区而言的。

2015-03-16 10:44:03 6311

原创 字符串的窗口滑动问题

问题:一个字符串S(暂时只考虑小写字母),选择S中包含26种英文字母的最短子串,如果不包含则返回空字符分析:双指针,动态维护一个区间。尾指针不断往后扫,当扫到有一个窗口包含了所有26种英文字母的字符串后,再收缩头指针,直到不能再收缩为止。最后记录所有可能的情况中窗口最小的。代码示例:#include #include #include using namespace std;c

2015-03-16 09:59:07 1548

原创 Java配置环境变量

首先讲一下操作步骤,随后再讲原理1.右击【我的电脑】---【属性】-----【高级系统设置(高级)】---【环境变量】。2.选择【新建系统变量】--弹出“新建系统变量”对话框,在“变量名“文本框输入“JAVA_HOME”,在“变量值”文本框输入JDK的安装路径,单击“确定”按钮。3.在“系统变量”选项区域中查看PATH变量,如果不存在,则新建变量 PATH,否则选中该变量,单击“编辑”

2015-03-15 10:21:51 908

原创 windows 用户变量和系统变量的区别

系统环境变量,对所有用户起作用,而用户环境变量只对当前用户起作用。

2015-03-15 10:04:45 47841 2

原创 java内存分配

栈、堆、常量池虽同属Java内存分配时操作的区域,但其适用范围和功用却大不相同。本文将深入Java核心,详细讲解Java内存分配方面的知识。Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分配方面的知识。一般Java在内存分配时会涉及到以下区域:◆

2015-03-13 22:00:07 543

原创 String的 ==和equals的区别

==操作符比较的是引用地址是否相等,equals()函数比较的字符串的值是否相等示例1: String s1="Hello"; String s2="Hello"; if(s1==s2) System.out.println("s1 == s2"); if(s1.equals(s2)) System.out.println("s1 equals s2");

2015-03-13 19:16:39 642

原创 String的不变性

String类型的不变性理解:String x = "java";System.out.println(x);//输出为javax.concat("java");//该方法是在原来的变量后面添加一个字符串然后变成新的字符串System.out.println(x);//输出为javax=x.concat("java");System.out.println(x);输

2015-03-13 19:07:38 1563

原创 java移位运算符详解

java移位运算符不外乎就这三种:>(带符号右移)和>>>(无符号右移)。 1、 左移运算符左移运算符1)它的通用格式如下所示:value num 指定要移位值value 移动的位数。左移的规则只记住一点:丢弃最高位(符号位同样丢弃),0补最低位如果移动的位数超过了该类型的最大位数,那么编译器会对移动的位数取模。如对int型移动33位,实际上只移动了332=1位。

2015-03-13 17:56:52 16528 3

原创 socket编程示例(多线程)

客户端代码如下:import java.io.*;import java.net.*;import java.util.Scanner;public class SimpleChatClient { BufferedReader reader; PrintWriter writer; Socket sock; public void go(){ System.out.p

2015-03-13 14:11:37 1159

原创 一个简单的java死锁示例

在实际编程中,要尽量避免出现死锁的情况,但是让你故意写一个死锁的程序时似乎也不太简单(有公司会出这样的面试题),以下是一个简单的死锁例子。线程的同步化可能会造成死锁,死锁发生在两个线程相互持有对方正在等待的东西。只要有两个线程和两个对象就可能产生死锁。package sxh.java.lock;/*** 一个简单的死锁类* 当DeadLock类的对象flag==1时(td1),先锁定

2015-03-13 12:15:27 1375

原创 socket编程代码示例(单线程)

客户端代码如下:import java.io.*;import java.net.*;public class DailyAdviceClient { public void go(){ try { Socket s=new Socket("127.0.0.1",4242);//建立对服务器的Socket连接 //客户端从服务器读取数据 //建立连接到socke

2015-03-13 09:31:41 1919 1

原创 严蔚敏--快速排序

快速排序的基本思想:通过一趟快速排序,将待排序记录分成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,已达到整个序列有序。要点1:枢轴的选择通常选第一个记录作为枢轴,但是更好的方法是“三者取中”,即比较L.r[s].key,L.r[t].key和L.r[(s+t)/2].key,取三者中关键字取中的记录为枢轴,只要将该记录和L.r[s]互

2015-03-10 11:19:42 5539

原创 JAVA内存使用--如何计算一个Java对象占用的字节数

本文中,我们讨论一个问题:如何计算(或者说,估算)一个Java对象占用的内存数量?通常,我们谈论的堆内存使用的前提是以“一般情况”为背景的。不包括下面两种情形:某些情况下,JVM根本就没有把Object放入堆中。例如:原则上讲,一个小的thread-local对象存在于栈中,而不是在堆中。被Object占用内存的大小依赖于Object的当前状态。例如:Object的同步锁是

2015-03-09 20:41:23 2056

原创 C++和Java继承关系中方法覆盖的不同

下面是一段java代码:package chapter5.game;class Subject{ int num; public void print(){ System.out.println("Subject"); }}class ChildClass extends Subject{ public void print(int i){ System.out.p

2015-03-09 16:02:02 1037

原创 eclipse常用快捷键

(1)Ctrl+Space 说明:内容助理。提供对方法,变量,参数,javadoc等得提示, 应运在多种场合,总之需要提示的时候可先按此快捷键。 注:避免输入法的切换设置与此设置冲突 (2)Ctrl+Shift+Space 说明:变量提示 (3)Ctrl+/ 说明:添加/消除//注释,在eclipse2.0中,消除注释为Ctrl+\ (4)Ctrl+

2015-03-09 11:24:39 809

原创 Java中获取键盘输入值的三种方法

程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!Java没有提供这样的函数也不代表遇到这种情况我们就束手无策,请你看以下三种解决方法吧:  以下将列出几种方法:  方法一:从控制台接收一个字符,然后将其打印出来  public static void

2015-03-09 11:10:52 1964

Editplus破解版

破解版Editplus 自带key 亲测64位可用 很不错的资源 希望对大家有用

2014-10-04

windows 64位 putty

windows 64位 putty ssh 亲测可用

2014-09-13

数据挖掘导论 清晰版

《数据挖掘导论(完整版)》 陈封能(Pang-Ning Tan) , 斯坦巴赫(Michael Steinbach) , 库玛尔(Vipin Kumar) ;觉得比韩家炜的《数据挖掘——概念与技术》更贴近实用 很清晰

2014-05-06

C++编程思想(第二版)练习题答案

C++编程思想第二版 课后练习题答案 绝对正宗 希望对大家有帮助

2013-12-02

Head First 设计模式电子版和源程序代码

Head First设计模式的的电子版和随书源程序代码,绝地正宗,可用,希望对大家有帮助。

2013-12-02

酒店管理系统论文和程序

这是我酒店管理系统毕设的全套资料(有点不舍得啊),包含论文,程序,开题报告,任务书,中期检查表,审题表,外文翻译资料等。希望对你有帮助。

2013-11-04

QT学习资料大全

这是我从西安电子科技大学内网下载来的,很实用的QT学习资料,希望对你有帮助。

2013-11-04

西电计算机复试资料大全

这是我复试期间的资料,还是比较有用的,13年复试的时候微机和编译都有很多原题。

2013-04-21

词法分析和语法分析程序

编译原理实验的词法分析和语法分析程序,内含详细的实验报告,希望大家顺利通过实验!

2012-06-10

空空如也

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

TA关注的人

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