<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[LWJ的专栏]]></title><description><![CDATA[记录想法的美好瞬间]]></description><link>https://blog.youkuaiyun.com/u013165521</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u013165521]]></copyright><item><title><![CDATA[堆排序（C语言实现）]]></title><link>https://blog.youkuaiyun.com/u013165521/article/details/47189031</link><guid>https://blog.youkuaiyun.com/u013165521/article/details/47189031</guid><author>u013165521</author><pubDate>Sat, 01 Aug 2015 19:42:28 +0800</pubDate><description><![CDATA[摘要：本篇博客，介绍另一种数组排序算法：堆排序。算法用C实现。]]></description><category></category></item><item><title><![CDATA[LeetCode:Minimum Depth of Binary Tree&& Maximum Depth of Binary Tree]]></title><link>https://blog.youkuaiyun.com/u013165521/article/details/47170043</link><guid>https://blog.youkuaiyun.com/u013165521/article/details/47170043</guid><author>u013165521</author><pubDate>Fri, 31 Jul 2015 16:01:49 +0800</pubDate><description><![CDATA[摘要：本文采用递归的形式求一棵二叉树的最小深度和最大深度。]]></description><category></category></item><item><title><![CDATA[LeetCode:Invert Binary Tree]]></title><link>https://blog.youkuaiyun.com/u013165521/article/details/47169297</link><guid>https://blog.youkuaiyun.com/u013165521/article/details/47169297</guid><author>u013165521</author><pubDate>Fri, 31 Jul 2015 14:33:27 +0800</pubDate><description><![CDATA[摘要：采用递归的方式，从二叉搜索树的树根开始，对任意结点的左右子树进行交换，使得最后满足左子树>根结点>右子树。算法C语言实现。]]></description><category></category></item><item><title><![CDATA[LeetCode:Balanced Binary Tree]]></title><link>https://blog.youkuaiyun.com/u013165521/article/details/47168339</link><guid>https://blog.youkuaiyun.com/u013165521/article/details/47168339</guid><author>u013165521</author><pubDate>Fri, 31 Jul 2015 12:44:04 +0800</pubDate><description><![CDATA[摘要：根据平衡二叉树的性质，给出了一种递归实现的算法，算法用c语言实现。]]></description><category></category></item><item><title><![CDATA[哈希表系列：初探哈希(二)，c语言实现]]></title><link>https://blog.youkuaiyun.com/u013165521/article/details/46990713</link><guid>https://blog.youkuaiyun.com/u013165521/article/details/46990713</guid><author>u013165521</author><pubDate>Tue, 21 Jul 2015 19:20:29 +0800</pubDate><description><![CDATA[摘要：       上次分析了哈希表的链地址法的实现，即采用“数组+链表”的数据结构。这次，介绍下用哈希桶的方式去解决哈希冲突，即通过哈希函数hash()将key转化为哈希值，然后根据桶的容量（桶的容量固定），且结合“除余法”定位到某个哈希下标，为该哈希值建立哈希桶（Bucket）。]]></description><category></category></item><item><title><![CDATA[*LeetCode：Longest Palindromic Substring]]></title><link>https://blog.youkuaiyun.com/u013165521/article/details/46984705</link><guid>https://blog.youkuaiyun.com/u013165521/article/details/46984705</guid><author>u013165521</author><pubDate>Tue, 21 Jul 2015 13:24:37 +0800</pubDate><description><![CDATA[问题描述：给定一个字符串，寻找最长回文子串。
猜想：当拿到这个问题，最初的想法打算用分治法来解，也许是受到近期在看算法导论的影响，其实它跟算法导论里"最大子数组"问题类似。但是，唯一的不足：没有被accepted，但是在vs2010里我解决了这个问题。针对这个问题，我花费2天的时间去完善，但是仍然存在瑕疵，故想记录下来当时的想法，也希望得到你们的帮助。


1、算法描述：
step1: ]]></description><category></category></item><item><title><![CDATA[LeetCode:Remove Nth Node From End of List]]></title><link>https://blog.youkuaiyun.com/u013165521/article/details/46974735</link><guid>https://blog.youkuaiyun.com/u013165521/article/details/46974735</guid><author>u013165521</author><pubDate>Mon, 20 Jul 2015 22:22:41 +0800</pubDate><description><![CDATA[摘要：移除链表末尾算起的第n个结点。算法思路：
1）首先判断链表head是否为空，或者n是否大于0；
2）统计链表长度length，将从尾部算起待移除的第n个结点转化为从链表首部开始的第target个结点；
     (taget=ListLength+1-n)
3)  判断是否删除的是头结点；
4）对链表进行遍历，找到第target结点进行删除；
     (添加变量before_head，用于存放当前结点的前个结点地址)]]></description><category></category></item><item><title><![CDATA[动态规划：钢条切割问题]]></title><link>https://blog.youkuaiyun.com/u013165521/article/details/46932621</link><guid>https://blog.youkuaiyun.com/u013165521/article/details/46932621</guid><author>u013165521</author><pubDate>Fri, 17 Jul 2015 20:56:53 +0800</pubDate><description><![CDATA[动态规划与分治法相似，都是通过组合子问题的解来求解原问题。回顾下分治法的原理：它将问题划分为互不相交的子问题（注意：互不相交），递归求解子问题，再将它们的解组合起来，即为原问题的解。
       但是，动态规划与分治法不同，有以下几点：
1）对于子问题重叠的情况，分治法则重复求解，不高效。而动态规划对每个子问题只求解一次，因为它将子问题的解进行保存，当遇到重复的子问题时，不再计算，只需查找替]]></description><category></category></item><item><title><![CDATA[LeetCode: Palindrome number]]></title><link>https://blog.youkuaiyun.com/u013165521/article/details/46885377</link><guid>https://blog.youkuaiyun.com/u013165521/article/details/46885377</guid><author>u013165521</author><pubDate>Wed, 15 Jul 2015 00:09:10 +0800</pubDate><description><![CDATA[问题描述：
1）到底怎样的整数才算是回文，或者说回文有什么特点？
答：整数必须是镜像即关于中间位对称，称该整数为回文。
2）负数到底算不算回文？
答：不算。


算法思路：

1）统计整数的位数，记为count；
2）根据count进行溢出判断，若溢出则return false;
3）判断该给定的整数是否为回文;


按照算法思路，我将它总结以下2方面进行介绍。一）如何]]></description><category></category></item><item><title><![CDATA[LeetCode: Reverse integer]]></title><link>https://blog.youkuaiyun.com/u013165521/article/details/46876109</link><guid>https://blog.youkuaiyun.com/u013165521/article/details/46876109</guid><author>u013165521</author><pubDate>Tue, 14 Jul 2015 12:39:25 +0800</pubDate><description><![CDATA[如上所示为题目，它要求将整数以中间位以“镜像"的形式进行转换，具体参考题目。
注意点：1）整数0的转换仍为0；2）负数的转换可以当成正数进行考虑；3）对最后的结果进行溢出分析，若溢出则返回0.


思路分析：
本算法将整数通过函数sprintf转换为字符串进行考虑。
1）考虑num=0和num属于[-9,9]的情况；
2）若num
3）通过sprintf将整数转换到字符串进行处理；]]></description><category></category></item><item><title><![CDATA[数组排序问题的两种方法：插入排序算法和递归(分治)算法]]></title><link>https://blog.youkuaiyun.com/u013165521/article/details/46845033</link><guid>https://blog.youkuaiyun.com/u013165521/article/details/46845033</guid><author>u013165521</author><pubDate>Sat, 11 Jul 2015 23:06:20 +0800</pubDate><description><![CDATA[在这里我将讨论数组的排序问题，并引入插入排序算法和递归算法求解。
1、插入排序
             这里通过算法导论中的伪代码说明算法过程。
        Insertion-sort(A)
        for(j=2 to A.length)
                  key=A[j]
                  //Insert A[j] into s]]></description><category></category></item><item><title><![CDATA[压测工具webbench源码分析]]></title><link>https://blog.youkuaiyun.com/u013165521/article/details/46745843</link><guid>https://blog.youkuaiyun.com/u013165521/article/details/46745843</guid><author>u013165521</author><pubDate>Fri, 03 Jul 2015 21:06:47 +0800</pubDate><description><![CDATA[转载自http://www.cnblogs.com/xuning/p/3888699.html。
    说明：内容绝大来自博主HorstXu，但是也添加了自己的一点理解。
一 我与webbench二三事
   Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL，测试网站在压力下工作的性能。Webbench使用C语言编写]]></description><category></category></item><item><title><![CDATA[二叉树系列：初探二叉树，c语言实现]]></title><link>https://blog.youkuaiyun.com/u013165521/article/details/46591689</link><guid>https://blog.youkuaiyun.com/u013165521/article/details/46591689</guid><author>u013165521</author><pubDate>Mon, 22 Jun 2015 10:09:02 +0800</pubDate><description><![CDATA[端午节假期的最后一天，天气凉爽，我下午该回学校了。原本，我昨天就该写下二叉树的博文，但是由于在二叉树删除这块的功能实现不尽人意，所以我推迟了，希望将其改进后再进行记录。早上趁着清醒，我如愿地改进了二叉树的删除功能，特此记录想法的美好瞬间。
 1、二叉树的基本概念
        二叉树的特点是每个结点至多有二棵子树，并且子树之间有左右之分。
二叉树的其他特性可以参考博文链接，这里按照我自己的]]></description><category></category></item><item><title><![CDATA[哈希表系列：初探哈希，c语言实现]]></title><link>https://blog.youkuaiyun.com/u013165521/article/details/46572287</link><guid>https://blog.youkuaiyun.com/u013165521/article/details/46572287</guid><author>u013165521</author><pubDate>Sat, 20 Jun 2015 10:14:04 +0800</pubDate><description><![CDATA[最初在阅读数据结构书籍时没有仔细看过哈希，潜意识认为太难了，应该用不到吧~但是，最近关注哈希表的原因是我在刷Leedcode时，有道题Two sum可以用哈希表求解，利用哈希特性“将庞大的数据进行压缩”，这就是哈希在处理大数据时的优势。
1、哈希表基本概念
        哈希表（Hash table，又叫散列表），是根据关键码值而直接进行访问的数据结构。我在这里将其抽象为“数组+链表”的复合]]></description><category></category></item><item><title><![CDATA[c++系列：打印表达式树]]></title><link>https://blog.youkuaiyun.com/u013165521/article/details/46502361</link><guid>https://blog.youkuaiyun.com/u013165521/article/details/46502361</guid><author>u013165521</author><pubDate>Mon, 15 Jun 2015 12:20:31 +0800</pubDate><description><![CDATA[昨晚看完>的第8章---一个面向对象程序范例，它对面向对象编程进行了很好的阐述，所以打算以博客的形式记录下来，方便以后阅读。
1.问题描述
      问题的核心就是由程序输出用来表示算术表达式的树。例如，表达式(-5)*(3+4)对应的树为：
                                           

         我们希望调用合适的函数，然后打印出该]]></description><category></category></item><item><title><![CDATA[LeetCode-Two Sum]]></title><link>https://blog.youkuaiyun.com/u013165521/article/details/46492879</link><guid>https://blog.youkuaiyun.com/u013165521/article/details/46492879</guid><author>u013165521</author><pubDate>Sun, 14 Jun 2015 18:11:27 +0800</pubDate><description><![CDATA[正如上图给出的题目，要求在给定的数组内，寻找到两个数等于目标值，并返回数组的下标。针对此问题，我给出我首次编写的代码。
/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
int* twoSum(int* nums, int numsSize, int target) {
    in]]></description><category></category></item><item><title><![CDATA[LeetCode：String to Integer (atoi) -one solution coded by c language]]></title><link>https://blog.youkuaiyun.com/u013165521/article/details/46490819</link><guid>https://blog.youkuaiyun.com/u013165521/article/details/46490819</guid><author>u013165521</author><pubDate>Sun, 14 Jun 2015 13:41:01 +0800</pubDate><description><![CDATA[时间：2015年6月14日，今天我开始写下我的第一篇博客，正如我博文的简介：记录想法的美好瞬间，也秉持着开源、共享的精神，我会继续坚持的走下去，去记录我成长的点点滴滴。好了，废话不说了，进入主题：如何实现atoi函数。
 
1、Myatoi思路分析
    atoi函数是实现将字符串转化为整数的过程。但是，字符串里可以包含多种字符，比如数字、字母、空格和特殊字符（‘-’、‘+’、‘？’、‘*]]></description><category></category></item></channel></rss>