基本算法
文章平均质量分 50
中志融一
自强
展开
-
基本算法:python递归算法
有时候写代码就是“老中医给别人看病“,经验很重要! 最近在做语义识别的项目,为了对语义识别的算法有一个深入的了解,所以抽出部分精力研究一下递归算法,递归作为最简单的基本算法,不是很难,原理大家都理解,下面我就结合我的理解,讲解一下递归算法: (一)递归的定义: 递归就是子程序(或函数)直接调用自己或通过一系列调用语句间接调用自己,是一种描述问题和解决问题的基本方法。递归常用来解决结构相似的问题原创 2017-09-24 16:44:33 · 6942 阅读 · 0 评论 -
005-Longest Palindromic Substring (最长回文子串)
最大回文子串出自《Leetcode》第6题,原题如下: Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic subs...原创 2018-06-20 19:10:51 · 251 阅读 · 0 评论 -
基于朴素贝叶斯的新闻分类
贝叶斯理论 在我们有一大堆样本(包含特征和类别)的时候,我们非常容易通过统计得到 p(特征|类别) .大家又都很熟悉下述公式: #coding: utf-8import osimport timeimport randomimport jieba #处理中文#import nltk #处理英文import sklearnfrom sklearn.naive_ba...原创 2018-03-09 21:44:10 · 971 阅读 · 0 评论 -
算法面试题3:小猫钓鱼
问题描述: 小哼和小哈在玩一个扑克游戏——小猫钓鱼。游戏规则:将一副扑克牌平均分成两份,每人拿一分。小哼先拿出手中第一张扑克牌放在桌上,然后小哈也拿出手中第一张扑克牌,并放在小哼刚才打出的扑克牌的上面,两人交替出牌。出牌时,如果某人打出的牌与桌上某张牌的牌面相同,可将两张相同的牌及其中间所夹的牌全部拿走,并依次放到自己手中牌的末尾。当任意一人手中当牌出完时,游戏结束,对方获胜。算...原创 2018-02-23 08:37:36 · 2123 阅读 · 0 评论 -
算法面试题2:快速排序算法
快速排序是极为优秀的排序算法,下面对该算法进行详细的计算。 算法基本思路: 快速排序一般基于递归实现。其思路是这样的: 1.选定一个合适的值(理想情况中值最好,但实现中一般使用数组第一个值),称为“枢轴”(pivot)。 2.基于“枢轴”(pivot)值,将数组分为两部分,较小的分在左边,较大的分在右边。 3.可以肯定,如此一轮下来,这个枢轴的位置一定在最终位置上。 4.对两个子数组分...原创 2018-02-19 10:51:53 · 1483 阅读 · 0 评论 -
算法面试题1:约瑟夫问题(c++实现方式)
描述:约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1 开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。输入:每行是用空格分开的两个整数,第一个是 n, 第二个是 m ( 0 < m, n < 300)。最后一行是: 0 0输出:对于...原创 2018-02-19 07:53:52 · 712 阅读 · 0 评论 -
基于朴素贝叶斯的文本分类
最近在学习自然语言处理,做了一个文本分类的demo,主要是基于朴素贝叶斯算法和TF-IDF方法的文本分类挖掘,下面的代码如下:# -*- coding:utf-8 -*-import numpy as npdef loadDataSet(): postingList=[['my','dog','has','flea','problems','help','please'],原创 2017-11-22 15:15:10 · 832 阅读 · 0 评论 -
K近邻算法(全解)
最近实验室成立了一个兴趣小组,每周给师弟师妹们。讲解一些算法,把讲解过程的PPT放在上面,供大家学习参考。 0、问题的提出 我们在实际生活中经常有一句话:“物以类聚,人以群分”我们总是以相近的事物去评价一个人,同时我们生活中经常有一句话叫做:“你的朋友决定了你的价值”,今天讲解的这个算法就是一这个理念来设计的一个算法,这个算法虽然简单,但是却在我们的生活中用处非常的大。原创 2017-11-13 21:58:27 · 756 阅读 · 0 评论 -
语义识别(一):隐性马尔可夫模型
隐性马尔可夫模型在语义识别领域有着广泛的应用,下面我整合了网络上和书上的有关资料,通俗详细的论述了隐性马尔可夫模型和Viterbi算法。隐马尔可夫模型(Hidden Markov Model,HMM)是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数。然后利用这些参数来作进一步的分析,例如模式识别。隐性马尔可夫模型在语义识别,分词模型中也有广泛的应原创 2017-10-06 11:27:19 · 9553 阅读 · 2 评论 -
LeetCode:008 String to Integer (atoi)
本题的题型内容如下: 本题的解决思路主要注意一下几点: 1,当输入为空时的处理; 2,前面的空白字符的处理 3,如何得到前面的正负号 4,注意最大值和最小值,防止溢出 算法实现 javaclass Solution { public int myAtoi(String str) { int index = 0; int total = ...原创 2018-06-21 20:36:52 · 251 阅读 · 0 评论