<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[java_c_android的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/java_c_android</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; java_c_android]]></copyright><item><title><![CDATA[散列(hash table)]]></title><link>https://blog.csdn.net/java_c_android/article/details/56489241</link><guid>https://blog.csdn.net/java_c_android/article/details/56489241</guid><author>java_c_android</author><pubDate>Wed, 22 Feb 2017 18:40:01 +0800</pubDate><description><![CDATA[概念
        理想中散列就是一个包含一些项的具有固定大小的数组。只不过数组中各元素的下标是通过对元素的关键字进行计算得到的（计算下标的函数叫散列函数）。
        与栈，队列，数组等数据结构相比，散列可以以常数平均时间进行插入、删除、查找。因为通过散列函数，可以很简单地计算出要操作的元素的下标，从而可直接进行插入、删除、查找。
        但散列不能很好地支持需要排序信息的]]></description><category></category></item><item><title><![CDATA[快速幂]]></title><link>https://blog.csdn.net/java_c_android/article/details/55802041</link><guid>https://blog.csdn.net/java_c_android/article/details/55802041</guid><author>java_c_android</author><pubDate>Sun, 19 Feb 2017 17:23:54 +0800</pubDate><description><![CDATA[试题
        求a^b的后三位数。a,b是整数。
        这题也就是计算a^b%1000的值。
解法一
        先求出a^b的值，然后计算a^b%m即可。
        如果a,b足够大，那么a^b将无法计算出来。所以解法一只适用于a,b都很小的情况。
解法二
        解法二会利用如下公式进行计算：


其证明过程如下：


因此a^b%]]></description><category></category></item><item><title><![CDATA[AVL树与伸展树入门]]></title><link>https://blog.csdn.net/java_c_android/article/details/54598751</link><guid>https://blog.csdn.net/java_c_android/article/details/54598751</guid><author>java_c_android</author><pubDate>Wed, 18 Jan 2017 18:34:33 +0800</pubDate><description><![CDATA[基础
二叉查找树
        对树中的第一个节点X，它的左子树中所有项的值小于X中的项，而右子树中的项都大于X中的项。
        二叉查找树的平均深度是O(log N)，因此二叉查找树的操作可以采用递归形式——因为递归不了几次。
增删改查
        查找类似于二分法。比根节点大，则找右子树，否则找左子树。
        修改也类似于查找，只不过在找到某个元素后对其进行]]></description><category></category></item><item><title><![CDATA[哈夫曼编码]]></title><link>https://blog.csdn.net/java_c_android/article/details/53932100</link><guid>https://blog.csdn.net/java_c_android/article/details/53932100</guid><author>java_c_android</author><pubDate>Thu, 29 Dec 2016 21:04:16 +0800</pubDate><description><![CDATA[基本概念
权：节点]]></description><category></category></item><item><title><![CDATA[树的基本知识]]></title><link>https://blog.csdn.net/java_c_android/article/details/53665538</link><guid>https://blog.csdn.net/java_c_android/article/details/53665538</guid><author>java_c_android</author><pubDate>Thu, 15 Dec 2016 15:39:17 +0800</pubDate><description><![CDATA[概念
        树：树是一些节点的集合。这个集合可以是空集；若集合不是空集，则树由根节点r以及0个或多个子树组成。
        边：两个节点之间的连线就是边。
        树叶：没有儿子的节点称为树叶。 
        节点的度：节点拥有的子树数称为节点的度。
        度：节点的度的最大值称为树的度。
        兄弟：具有相同父亲节点的节点称为兄弟。]]></description><category></category></item><item><title><![CDATA[进程与线程]]></title><link>https://blog.csdn.net/java_c_android/article/details/52873545</link><guid>https://blog.csdn.net/java_c_android/article/details/52873545</guid><author>java_c_android</author><pubDate>Thu, 20 Oct 2016 17:39:25 +0800</pubDate><description><![CDATA[multiprocessing
        进程模块。
Process
        表示一个进程。
常用方法
        start()：启动一个进程。
        join()：等待子进程结束后，再执行父进程。如：
import os
from multiprocessing import Process  # Process是跨平台的进程


def fun(*a]]></description><category></category></item><item><title><![CDATA[io]]></title><link>https://blog.csdn.net/java_c_android/article/details/52841745</link><guid>https://blog.csdn.net/java_c_android/article/details/52841745</guid><author>java_c_android</author><pubDate>Mon, 17 Oct 2016 23:07:23 +0800</pubDate><description><![CDATA[StringIO
        在内存中读取str。需导入io模块。]]></description><category></category></item><item><title><![CDATA[元类]]></title><link>https://blog.csdn.net/java_c_android/article/details/52815829</link><guid>https://blog.csdn.net/java_c_android/article/details/52815829</guid><author>java_c_android</author><pubDate>Fri, 14 Oct 2016 14:52:45 +0800</pubDate><description><![CDATA[type
        type函数即可返回一个对象的类型，也可动态地创建一个新的类。如：
def say(self):  # 因为该方法要传入到类中，所以必须定义一个self参数
    print("say hello")

d = type('Demo', (object,), dict(say=say))
d1 = d()
d1.say()  # say hello]]></description><category></category></item><item><title><![CDATA[常用模块——sys，pickle,json]]></title><link>https://blog.csdn.net/java_c_android/article/details/52779613</link><guid>https://blog.csdn.net/java_c_android/article/details/52779613</guid><author>java_c_android</author><pubDate>Mon, 10 Oct 2016 17:35:05 +0800</pubDate><description><![CDATA[sys模块
        argv：以命令行形式运行时，跟在python命令后的数据，将这些数据以list形式返回，第一个参数是当前运行的python文件名。如：D:\python\workspace>python demo.py xx oo yy 11-231
['demo.py', 'xx', 'oo', 'yy', '11-231']  # 输出python后跟的所有参数，以空格分隔一个]]></description><category></category></item><item><title><![CDATA[内置函数]]></title><link>https://blog.csdn.net/java_c_android/article/details/52759252</link><guid>https://blog.csdn.net/java_c_android/article/details/52759252</guid><author>java_c_android</author><pubDate>Sat, 08 Oct 2016 18:39:11 +0800</pubDate><description><![CDATA[常用列表
        系统函数是可以直接调用式。
        del()：删除相应的变量，删除后该变量就相当于未进行定义。
        len()：获取序列的长度。
        type()：获取指定变量的类型，如tuple,list等。
        str()：将指定的变量转换为字符串。
        help()：查询文档。比如help(dict.keys)就]]></description><category></category></item><item><title><![CDATA[generator,迭代器,装饰器与偏函数]]></title><link>https://blog.csdn.net/java_c_android/article/details/52756337</link><guid>https://blog.csdn.net/java_c_android/article/details/52756337</guid><author>java_c_android</author><pubDate>Sat, 08 Oct 2016 17:32:13 +0800</pubDate><description><![CDATA[生成器
        generator。它保存的是列表元素生成的算法，每调用一次next()函数时，就会根据算法返回一个元素，避免了一次性生成过多的元素，导致内存溢出。
        
参考1
定义
列表
        在for循环中，可以使用如下方法生成一个列表：
def f(m):
    return m*2
L = [f(m) for m in 'abc']
prin]]></description><category></category></item><item><title><![CDATA[异常，类与枚举]]></title><link>https://blog.csdn.net/java_c_android/article/details/52733107</link><guid>https://blog.csdn.net/java_c_android/article/details/52733107</guid><author>java_c_android</author><pubDate>Tue, 04 Oct 2016 12:06:33 +0800</pubDate><description><![CDATA[基础
        除了关键字不一样外，其余的与java完全相同。
        try-except-finally分别表示java中的try,catch,finally。java中的throw在python中用raise代替。
try:
	f = file('x.txt')
except Exception, e: # 捕获异常，并将异常信息用e变量存储
	print e
else:]]></description><category></category></item><item><title><![CDATA[文件与file与os]]></title><link>https://blog.csdn.net/java_c_android/article/details/52728102</link><guid>https://blog.csdn.net/java_c_android/article/details/52728102</guid><author>java_c_android</author><pubDate>Mon, 03 Oct 2016 21:57:29 +0800</pubDate><description><![CDATA[常用方法
        open()：打开指定的文件，返回一个file object。该方法是内置函数，不需要导入做任何模块即可使用，跟help方法一样。在打开文件时，可选择传入的模式。模式有三种：
        a——文件不存在则新建，已有则将内容追加到文件结尾，可写不可读。
        w——新建不存在的文件，清除已有文件的旧内容，可写不可读。清空原文件内容，重新写入新的内容。如]]></description><category></category></item><item><title><![CDATA[正则表达式与MatchObject]]></title><link>https://blog.csdn.net/java_c_android/article/details/52723679</link><guid>https://blog.csdn.net/java_c_android/article/details/52723679</guid><author>java_c_android</author><pubDate>Sun, 02 Oct 2016 17:02:39 +0800</pubDate><description><![CDATA[基础
        python中，正则表达式默认使用的是贪婪匹配，可以在元字符(如+,*,{}等)后面跟?以使用非贪婪匹配。如：
#coding:utf-8
import re
s = r'ad?'
print re.findall(s,'addddd') # ad
# 如果将s=r"ad??",则返回的结果是a
re模块
        对正则表达式的操作都需要re模块的支持。该模块]]></description><category></category></item><item><title><![CDATA[内置属性，包与模块]]></title><link>https://blog.csdn.net/java_c_android/article/details/52710736</link><guid>https://blog.csdn.net/java_c_android/article/details/52710736</guid><author>java_c_android</author><pubDate>Fri, 30 Sep 2016 17:17:36 +0800</pubDate><description><![CDATA[模块
        python的脚本文件都是以扩展名为py的文本文件保存的，一个脚本可以单独运行也可以导入到另一个脚本中运行。当脚本被导入运行时，被导入的文件就被称为模块。因此，模块名与脚本的文件名相同。
import
        导入相应的模块，与java中的import关键字类似，但python会在导入时会将被导入模块中的所有代码都执行一遍。如：
print("fdasf")]]></description><category></category></item><item><title><![CDATA[dos下常用命令]]></title><link>https://blog.csdn.net/java_c_android/article/details/52621091</link><guid>https://blog.csdn.net/java_c_android/article/details/52621091</guid><author>java_c_android</author><pubDate>Thu, 22 Sep 2016 15:37:26 +0800</pubDate><description><![CDATA[cd：进入具体的目录
        start：运行某个具体文件。如start 1.txt就会用记事本打开1.txt文件。
        mkdir：创建一个文件夹。
        md：创建一个文件夹。
        del：后跟文件夹，则删除文件夹内部的内容，但不删除文件夹本身。如果文件夹不为空，根据提示输入即可。后跟文件，则直接删除文件。
        rd：删除指定的文]]></description><category></category></item><item><title><![CDATA[函数]]></title><link>https://blog.csdn.net/java_c_android/article/details/52593627</link><guid>https://blog.csdn.net/java_c_android/article/details/52593627</guid><author>java_c_android</author><pubDate>Tue, 20 Sep 2016 11:08:02 +0800</pubDate><description><![CDATA[定义
        格式为——def  函数名(参数列表)：其中冒号指的是代码块的开始，函数本身也是一个代码块，所以需要以冒号开始。
        通过return定义函数的返回值，如果没有return则默认返回提None。
系统函数
        系统函数是可以直接调用的，不需要使用变量点的形式。
        del()：删除相应的变量，删除后该变量就相当于未进行定义。]]></description><category></category></item><item><title><![CDATA[循环与布尔值]]></title><link>https://blog.csdn.net/java_c_android/article/details/52555208</link><guid>https://blog.csdn.net/java_c_android/article/details/52555208</guid><author>java_c_android</author><pubDate>Fri, 16 Sep 2016 17:03:57 +0800</pubDate><description><![CDATA[基础
        代码块以冒号开始，并且缩进相同的代码属于同一代码块。因此，if等表达式后需要跟一个冒号。
逻辑运算
        True：真。非零与非空的变量都是真。
        False：假。0、None或者空的量都是False。如

a={"dict":1}
a.clear()
if a:
        print(a)
else:
        print("]]></description><category></category></item><item><title><![CDATA[数据类型]]></title><link>https://blog.csdn.net/java_c_android/article/details/52389841</link><guid>https://blog.csdn.net/java_c_android/article/details/52389841</guid><author>java_c_android</author><pubDate>Wed, 31 Aug 2016 23:04:47 +0800</pubDate><description><![CDATA[变量
        python中以数据为主体，不同的数据存储在不同的地址空间中，而变量名只是地址空间的一个标签，通过这个标签可以访问到这个内存，从而拿到内存中存储的数据。并不是说会为该变量分配一个固定的地址空间，而对变量赋值就是向该地址空间中添加不同的数据。如：
#ecoding:utf-8
a=123
b=123
print(id(a))
print(id(b))
a=345
print]]></description><category></category></item><item><title><![CDATA[linux下常用命令]]></title><link>https://blog.csdn.net/java_c_android/article/details/52389697</link><guid>https://blog.csdn.net/java_c_android/article/details/52389697</guid><author>java_c_android</author><pubDate>Wed, 31 Aug 2016 22:34:30 +0800</pubDate><description><![CDATA[ls：列出当前目录下的所有文件，文件夹
        mkdir：生成指定名字的文件夹。
        rm：移除指定的文件（不是文件夹）
        rmdir：移除指定的文件夹——该文件夹必须是空的。
        rm -rf：移除非空的文件夹。r表示向下遍历，不管有多少级目录都会直接删除，f表示强制删除。
vim
        打开某个文件进行编辑，如果该文件不存在]]></description><category></category></item></channel></rss>