摘要: 树 不同于队列、栈等一对一的数据结构, 树是一对多的数据结构 。树(Tree)是n(n =0)各节点的有限集。当n=0,为空树。 在任意一颗非空树中: 1. 有且只有一个特定的结点称为:根(Root) 2. 当n 1时,其余结点可分为m(m 0)个互不相交的有限集T1、T2、...Tm。其中每一个树 阅读全文
posted @ 2017-07-11 19:58 AsuraDong 阅读(559) 评论(0) 推荐(0) 编辑
摘要: 记录一下Python 函数式编程 , 高级的几个BIF , 高级官方库 方面的用法和心得。 函数式编程 函数式编程是使用一系列函数去解决问题,按照一般编程思维,面对问题时我们的思考方式是“怎么干”,而函数函数式编程的思考方式是我要“干什么”。很多好用的函数很大程度节约了编程成本。 函数参数问题 总结 阅读全文
posted @ 2017-07-11 19:50 AsuraDong 阅读(3066) 评论(0) 推荐(2) 编辑
摘要: 发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。 和commit相比,标签更容易记住和使用,而不是那一串hash值。标签的创建和删除很简单,直接记 阅读全文
posted @ 2017-07-11 19:50 AsuraDong 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 引言:关于字符串 字符串(string):是由0或多个字符组成的有限序列。一般写作`s = "123456..."`。s这里是主串,其中的一部分就是子串。 其实,对于字符串大小关系不如是否相同重要。包括密码验证、hash列等。 而字符串的存储结构有两种:顺序存储结构和链式存储结构。由于不同的字符是连 阅读全文
posted @ 2017-06-25 12:23 AsuraDong 阅读(597) 评论(1) 推荐(1) 编辑
摘要: GitHub上的团队协作 远程信息 :查看远程库的信息 :查看远程库的详细信息 推送分支 :比如 是向服务器推送dev分支。而我们熟悉的 就是向远程推送master分支。 假设有一个分支 专门用来修复bug,就不需要推送了,只要自己留着就可以了(除非要别人帮助修复)。 其他的分支要根据功能来决定是否 阅读全文
posted @ 2017-06-23 22:40 AsuraDong 阅读(2340) 评论(0) 推荐(0) 编辑
摘要: 了解分支 如果想实现多人协作、划出Bug区、Feature区等功能,就需要 分支功能 。(确实很强大的地方) 每次 时,Git都把它们串成一条时间线,这条时间线就是一个 分支 。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即 分支。而此时 也指向 。 每次提交, 分支都会向前移动一步, 阅读全文
posted @ 2017-06-23 22:01 AsuraDong 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 创建远程仓库 首先在GitHub上创建一个仓库命名为learngit。选中public(private要钱),选中 生成README(就是markdown形式的说明文档),便于别人和自己了解仓库的作用。(附截图) 克隆远程仓库 切到工作目录下,执行 就可以克隆到本地了。 这时候文件名默认是仓库名字, 阅读全文
posted @ 2017-06-22 23:58 AsuraDong 阅读(774) 评论(0) 推荐(0) 编辑
摘要: [TOC] 创建仓库 创建新文件夹: 进入: 发现没有任何东西: 将这个文件夹设置为git文件夹。目录下面会出现.git 的隐藏文件 创建文件/文件夹 当移入/创建新的文件和文件夹时,需要 然后, 将文件提交到当前分支。执行命令前后的区别,可以通过 来查看。 修改文件/文件夹 当修改文件内容的时候, 阅读全文
posted @ 2017-06-21 15:14 AsuraDong 阅读(2363) 评论(0) 推荐(0) 编辑
摘要: 记录一下 "WinSCP" 和 "putty" 的用法。 putty:远程cmd窗口,在本机通过命令行操作服务器,并且拿到运行结果。而本机只有连接作用,大大减小了负担。 登陆界面输入ip地址,没有特殊情况,默认选项就可以了。截图 输入用户名和密码,进行登陆。截图 然后就可以在服务器上跑程序了。截图 阅读全文
posted @ 2017-06-20 22:37 AsuraDong 阅读(969) 评论(0) 推荐(0) 编辑
摘要: [TOC] 对于一门语言来说,一句话有无限可能。问题是我们只能通过有限的程序来分析结构和含义。尝试将“语言”理解为:仅仅是所有合乎文法的句子的大集合。在这个思路的基础上,类似于 就成立,这种式子叫做递归产生式。理论上,句子可以无限扩充。 文法 自定义文法 写法上与上一篇博文的分类规则思路基本一致,并 阅读全文
posted @ 2017-06-20 17:13 AsuraDong 阅读(3396) 评论(5) 推荐(0) 编辑
摘要: [TOC] 如何构建一个系统,用于从非结构化的文本中提取结构化的信息和数据?哪些方法使用这类行为?哪些语料库适合这项工作?是否可以训练和评估模型? 信息提取,特别是结构化信息提取,可以类比数据库的记录。对应的关系绑定了对应的数据信息。针对自然语言这类非结构化的数据,为了获取对应关系,应该搜索实体对应 阅读全文
posted @ 2017-06-19 22:15 AsuraDong 阅读(9251) 评论(0) 推荐(0) 编辑
摘要: [TOC] 递归和分治思想 如果可以使用迭代,尽量别使用递归。由编译原理可以知道,每次自调用的时候,计算机都需要保存在调用,浪费时间空间。当然,迭代是当我们知道循环次数的时候。而 当我们不知道循环次数,比如说对于文件夹和文件进行遍历,不知道深度的情况下,我们就需要递归来实现。 显然,递归是先解决小的 阅读全文
posted @ 2017-06-18 19:54 AsuraDong 阅读(2393) 评论(0) 推荐(1) 编辑
摘要: 队列 定义 :队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(head)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。 按照队列的定义,结合内存地址的理解,初始化队列的时候,准备 和`rear 阅读全文
posted @ 2017-06-18 19:48 AsuraDong 阅读(618) 评论(0) 推荐(1) 编辑
摘要: [TOC] 一、两种表达式 中缀表达式:人使用的类似于(2+3\ 5),运算符号在数字中间的表达式 后缀表达式:不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则。这是计算机的计算方式。 二、转化规则和思路 利用栈,可以实现中缀表达式转 阅读全文
posted @ 2017-06-18 19:45 AsuraDong 阅读(987) 评论(0) 推荐(0) 编辑
摘要: 栈(stack)又名堆栈,是仅允许在表的一端进行插入和删除运算。 表尾一端被称为 栈顶 ,相对地,表头称为 栈底 。Push:向一个栈插入新元素又称作进栈、 入栈 或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素。Pop:从一个栈删除元素又称作 出栈 或退栈,它是把栈顶元素删除掉,使其相 阅读全文
posted @ 2017-06-16 21:06 AsuraDong 阅读(697) 评论(0) 推荐(0) 编辑
摘要: [TOC] 关于分类文本,有三个问题 1. 怎么识别出文本中用于明显分类的特征 2. 怎么构建自动分类文本的模型 3. 相关的语言知识 按照这个思路,博主进行了艰苦学习(手动捂脸。。) 一、监督式分类:建立在训练语料基础上的分类 训练过程中,特征提取器将输入转化为特征集,并且记录对应的正确分类。生成 阅读全文
posted @ 2017-06-15 21:58 AsuraDong 阅读(10068) 评论(0) 推荐(0) 编辑
摘要: 今天课上实验课,遇到一道题目,需要查找一个数组中出现次数最多的元素和次数,并且输出。第一次用struct模拟字典,十分麻烦而且复杂度是O(n\ n)。其实,运用转化的思想,可以先将其排序,然后再查找即可,时间复杂度之后只有O( n\ log_2(n))。 题目是这样的: 某小镇要票选镇长,得票最高者 阅读全文
posted @ 2017-06-14 21:44 AsuraDong 阅读(2450) 评论(0) 推荐(0) 编辑
摘要: 双向链表和双向循环链表 和单向链表相比,多了一个前驱结点。如果他为空,那么next和prior都指向自己。而对于双循环链表,只需要最后一个元素的next指向head next,head next的prior指向最后一个节点即可。 插入操作 新节点s插入链表,s next给p结点,s prior给p 阅读全文
posted @ 2017-06-14 16:27 AsuraDong 阅读(7020) 评论(0) 推荐(0) 编辑
摘要: 判断单链表是否有环 假设有一个含环链表:1 2 3 4 5 6 3(6又连接到3,形成一个环) 1. 使用p、q两个指针,p总是向前走,但q每次都从头开始走,对于每个节点,看p走的步数是否和q一样。当p从6走到3时,用了6步;此时q从head出发,则只需两步就到3,因而步数不等,出现矛盾,存在环。而 阅读全文
posted @ 2017-06-14 00:03 AsuraDong 阅读(616) 评论(0) 推荐(0) 编辑
摘要: 尾指针及其简单应用 循环链表如果拿到最后结点,若没有尾指针(rear),那么需要O(n)的时间。如果有的话,只需要O(1)的时间。 如果有两个链表,需要将他们连接,拥有尾指针只需要O(1)的时间复杂度。 此时,判断循环链表是否为空的方法:rear是否等于rear next。 一道题目:将两个线性表A 阅读全文
posted @ 2017-06-14 00:02 AsuraDong 阅读(1202) 评论(0) 推荐(0) 编辑