08 2015 档案
摘要:字符编码精华总结文件或字符串乱码相信大家都没少遇到, 今天主要就来搞清楚字符串的编码到底是怎 么一回事.首先, 我们放把自己置空, 假设现在从来没有字符编码, 刚有一台计算机产生, 让我 们来设计一套方案, 目标是让在计算机屏幕上看到我们平时所书写的字符. 你会怎么 做?1编码的本质详细的思考过程,...
阅读全文
摘要:并查集是一种用途广泛的数据结构,能够快速地处理集合的合并和查询问题,并且实现起来非常方便,在很多场合中都有着非常巧妙的应用,。本文首先介绍并查集的定义、原理及具体实现,然后以其在最小生成树算法中的一个经典应用为例讲解其具体使用方法。一 并查集原理及实现并查集是一种树型的数据结构,用于处理一些不相交集...
阅读全文
摘要:栈模拟非递归算法递归算法的本质是利用函数的调用栈进行,实际上我们可以自行使用栈来进行模拟,这样的算法空间复杂度为O(h),h为二叉树的高度。前序遍历首先把根节点入栈,然后在每次循环中执行以下操作:此时栈顶元素即为当前的根节点,弹出并打印当前的根节点。把当前根节点的右儿子和左儿子分别入栈(注意是右儿子...
阅读全文
摘要:1 # coding:utf-8 2 3 import random 4 import time 5 6 t = time.time() 7 8 # 快速排序的分割算法, 参考自编程珠玑 9 # [l, r]为闭区间10 def partion(a, l, r):11 # tmp =...
阅读全文
摘要:# 堆排序的Python实现# coding:utf-8import randomimport timet = time.time()# 堆排序, 按照从小到大排序,所以建立大根堆# 列表的第一个元素没有使用def ShiftDown(a, i): if not a: retur...
阅读全文
摘要:1. KMP算法是前缀匹配算法,一次从前往后匹配的过程中,根据已经部分匹配的信息,在文本中,移动尽可能远的距离。而不是按照朴素模式匹配方法,每次都只移动一个位置。比如这个示例,在文本串中从4(从0开始编号)开始逐个字符匹配,直到某个不匹配的字符(空格和D),然后朴素模式匹配算法是从下一个字符继续开始...
阅读全文
摘要:Python中文乱码,是一个很大的坑,自己不知道在这里遇到多少问题了。还好通过自己不断的总结,现在遇到乱码的情况越来越少,就算出现,一般也能快速解决问题。这个问题,我七月就解决了,今天总结出来,和朋友一起分享。 最近写过好几个爬虫,熟悉了下Python requests库的用法,这个库真的Pytho
阅读全文
摘要:在之前的文章 http://www.cnblogs.com/bitpeng/p/4748148.html 中,大家看到了ret.append(path) 和ret.append(path[:])的巨大差别。这和Python的对象机制有关。现在谈谈这个问题!我们知道,Python有可变对象和不可变对象...
阅读全文
摘要:本来这只是一个普通的算法题,但是当初自己OJ上提交时,总是提交失败,而我自己认定程序逻辑没有任何问题。然后开始就在本机上调试,结果发现这是由于Python的对象机制而引发的。所以先把问题算法题贴出来,然后通过该问题,详述Python的对象机制!题目描述:输入一颗二叉树和一个整数,打印出二叉树中结点值...
阅读全文
摘要:自己在2014年12月面试某公司时被问过该问题。虽然当时,自己写出来了自认为效率比较高的算法,但是没有能按照面试官的要求,进行进一步的优化。后来网上搜索该问题,结果引申了一串其他的知识点,看来还是得深究啊!解法一:暴力法这种方法就不用多说了吧。这里我给出暴力法中,最优化的方案。# coding:ut...
阅读全文
摘要:Python是个人最喜欢的语言,刚开始接触Python时,总觉得有很多槽点,不太喜欢。后来,不知不觉中,就用的多了、习惯了、喜欢上了。Python的功能真的很强大,自己当初学习这门语言的时候,也记录过很多的笔记,现慢慢把这些笔记发布出来,希望对大家有所帮助,对自己也算是一个总结。关于Python默认...
阅读全文
摘要:一直都有做笔记的习惯,所以每次看完书,做完练习,都会把想法记录下来,保存在本地。但是自己写的东西很少发布在网上,主要原因是自己做的笔记是快速记录,所以记录格式跟发表的博文相比不是那么整洁规范(当然自己能看懂),要是发布出来,肯定要细细整理、润色,这样才能让网友看的懂。当然这样也有一些不好的地方:比如...
阅读全文