自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (18)
  • 收藏
  • 关注

原创 ZigZag Conversion

The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)P A H NA P L S I I

2017-09-13 10:35:14 301

原创 Median of Two Sorted Arrays

There are two sorted arrays nums1 and nums2 of size m and n respectively.Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).Example 1:nums1 = [1,

2017-09-06 14:32:38 252

原创 Palindrome Number

Determine whether an integer is a palindrome. Do this without extra space.Some hints:Could negative integers be palindromes? (ie, -1)If you are thinking of converting the integer to string, note

2017-09-06 14:30:56 242

原创 Longest Palindromic Substring

Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.Example:Input: "babad"Output: "bab"Note: "aba" is also a valid answer.Ex

2017-09-06 14:07:21 266

原创 Longest Substring Without Repeating Characters

Given a string, find the length of the longest substring without repeating characters.Examples:Given "abcabcbb", the answer is "abc", which the length is 3.Given "bbbbb", the answer is "b", with

2017-08-31 15:57:52 254

原创 天平称球的问题

这是原来写在QQ空间的一篇文章,现在捡主要逻辑过来作为博客的一道益智题问题描述:13个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。解题思路:自己的方法:13个球的分法:4,4,5之所以这么分,其实也有一定道理,相同的两部分如果太少了,如3,3,7,那么处理7个球的时候就比较麻烦了,次数也会随着增多,又或者相同的两部分太多了,如5,5,3 ,那处理

2017-03-31 09:24:57 875

原创 KMP算法代码实现

KMP算法,看了好久,才写出代码,理解起来有点难度,后来在捋顺了关系后,再回顾就没有之前那样困难了KMP算法的关键在于求next,而next的计算则在于前缀字符串的计算,将问题分解,先求出f(最大前缀字符串),之后再求nextKMP是一个单模匹配算法,时间复杂度为O(m),其中m是带搜索目标串的长度。写出KMP算法代码,主要参考了2篇文章,在本处附上:https://w

2017-03-30 17:46:24 771

原创 归并排序

//复杂度O(nlogn),需要辅助空间#include#includevoid merge(std::vector& src, std::vector& dst, int start, int mid, int end){ int k = start; int i = start; int j = mid + 1; for (; (j <= end) && (i <= mid);

2017-03-30 17:22:51 268

原创 快排改进(快排+插入)

/* 快排改进算法 快排+插入,当集合较小时,不再排序,由于已经通过快排,保证基本有序,移动次数不会太多,此时改用插入排序, */static void quickSortSection(std::vector& vec, int start, int end, int k) { if ((end - start) > k) { if (start >= end)

2017-03-21 11:31:16 668

原创 插入排序

/* 插入排序, 复杂度O(n^2),在基本有序时,效率较高,倒序时最差 原理:将元素一个个插入已经排好序的队列中 */ static void insertSort(std::vector& vec) { if (1 == vec.size()) { return; } for (int i = 1; i < vec.size(); i++) { in

2017-03-20 15:54:11 237

原创 选择排序

/* 选择排序,时间复杂度O(n^2) */ static void selectSort(std::vector& vec) { if (vec.empty()) { return; } for (int i = 0; i < vec.size(); i++) { int index = i; for (int j = i + 1; j < vec.si

2017-03-20 15:53:40 221

原创 希尔排序

/* 插入排序的变种,通过增量这一特性,减少了数据比较和移动次数,是一种优化的插入排序 */void shellSort(std::vector& vec){ int rate = 2; int increNum = vec.size() / rate; while(increNum) { for

2017-03-20 15:52:36 239

原创 堆排序

/* 调整堆, 向下调整的过程 */ static void heapAdjust(std::vector &vec, int start, int end) { int i = start; while((2*i + 1) < end) { int maxIndex = 2*i + 1; if ((2*i + 2) < end) { if

2017-03-20 15:50:46 266

原创 插入排序

/* 插入排序, 复杂度O(n^2),在基本有序时,效率较高,倒序时最差 原理:将元素一个个插入已经排好序的队列中 */ static void insertSort(std::vector& vec) { if (1 == vec.size()) { return; } for (int i = 1; i < vec.size(); i++) { in

2017-03-16 15:26:34 222

原创 unix临时文件创建

/* 看例子,创建一个文件,在unlink,文件i节点的链接数变为0,但持有该文件的句柄,依然可以fgets和fputs该文件,说明文件的数据块依然存在,在fclose之后,才彻底删除,这就是使用临时文件的原理 */#include#include#include#include#include/* setvbuf实现setbuf,仅供参考 */void setbuf(FILE *

2017-03-10 16:01:09 449

原创 二叉排序树

/* 二叉查找树,中序遍历为从小到大的顺序,在查找树基本平衡时,复杂度logn,若退化成一条线时,复杂度n */#include#include#include #include#include typedef struct _SearchTree{ int data; int times; struct _SearchTree *pLChild; struct _Sea

2017-03-09 17:39:38 256

原创 快排算法(递归/非递归)

最近看了一篇文章,介绍递归转非递归的方法,主要是通过stack的数据结构模拟递归函数堆栈的层次调用(后进先出,最里层-->最外层,层层弹出),排序算法很多是通过递归来实现的,这里照葫芦画瓢,实现一下非递归的快排算法。先附上快排的递归用法,用于对比/* 快速排序:从数组中选出一个值flag,通过一轮比较,将比flag大的置于一侧,比flag小的置于另一侧,再依照此法,对这两部分做同样的比较

2017-03-02 15:26:35 1782

原创 冒泡排序算法

比较简单,以冒泡排序开始自己的第一篇博文/* 冒泡排序:从头开始依次比较,若前一个值比后一个值大,则交换,否则不做任何操作,比如第一个与第二个比较,比较完成之后(交换或不交换),第二个与第三个比较,……,最后第n-1个与第n个值比较,交换或不交换,此时最大值放在了第n个值的位置;然后从头开始进行下一轮比较,比较到第n-1个位置,此轮最大值置于第n-1的位置;继续下一轮,直至剩余一个元素

2017-03-02 14:54:42 288

300多种加密算法源码.rar

300多种加密算法源码 借鉴学习用 感觉还不错

2011-11-10

《数据结构》清华大学严蔚敏

《数据结构》清华大学严蔚敏 很不错的数据结构教材

2011-11-10

正则表达式快速学习

正则表达式快速学习 入门级 参考书籍

2011-11-07

MFC中应用OpenCV教程

MFC中应用OpenCV教程 还算不错的OpenCV教程

2011-11-07

麻省理工学院-算法导论

麻省理工学院-算法导论 算法介绍书籍

2011-11-07

TCP+-+IP协议(卷一)

TCP+-+IP协议(卷一) 深入介绍TCP IP技术的网络教材

2011-11-07

程序员面试宝典(第二版)

程序员面试宝典(第二版) 面试前参考,加深自己对结构和算法的了解

2011-11-07

深入浅出 MFC

深入浅出MFC,经典教材 CHM格式,欢迎下载学习!

2011-09-15

PHP圣经 入门教材

PHP入门教材,为数不多的CHM格式文档,欢迎下载学习!

2011-09-15

空空如也

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

TA关注的人

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