#数据结构与算法

记录一些经典的算法

每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互,没有加油机),一箱油可供一架飞机绕地球飞半圈。问:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机? (所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)解答:我们把全程划分为多个4分之1段,可以知道,要一架...
代码星球 代码星球·2021-02-15

十大编程算法助程序员走上高手之路

算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的...

JAVA智能设备基于OpenGL的3D开发技术 之AABB碰撞检测算法论述

摘要:无论是PC机的3D还是智能设备应用上,碰撞检测始终是程序开发的难点,甚至可以用碰撞检测作为衡量3D引擎是否完善的标准。现有许多3D碰撞检测算法,其中AABB碰撞检测是一种卓有成效而又经典的检测算法,本文将为读者详细论述AABB碰撞检测的各各技术点。关键词:J2ME;OpenGL;JSR-184;M3G;CLDC2...

HMM模型和Viterbi算法

1、简介  隐含马尔可夫模型并不是俄罗斯数学家马尔可夫发明的,而是美国数学家鲍姆提出的,隐含马尔可夫模型的训练方法(鲍姆-韦尔奇算法)也是以他名字命名的。隐含马尔可夫模型一直被认为是解决大多数自然语言处理问题最为快速、有效的方法。2、马尔可夫假设  随机过程中各个状态St的概率分布,只与它的前一个状态St-1有关,即P...
代码星球 代码星球·2021-02-15

词性标注算法之CLAWS算法和VOLSUNGA算法

背景知识 一、基于规则的词性标注方法1.原理  利用事先制定好的规则对具有多个词性的词进行消歧,最后保留一个正确的词性。2.步骤  ①对词性歧义建立单独的标注规则库  ②标注时,查词典,如果某个词具有多个词性,则查找规则库,对具有相同模式的歧义进行排歧,否则保留。  ③程序和规则库是独立的两部分。3.例子  ...

基于统计的自动分词算法

  简介:利用字与字间、词与词间的同现频率作为分词的依据,不一定需要建立好的词典。需要大规模的训练文本用来训练模型参数。优缺点:不受应用领域的限制;但训练文本的选择将影响分词结果。   对于任意一个语句,首先按语句中词组的出现顺序列出所有在语料库中出现过的词组;将上述词组集中的每一个词作为...

基于规则的自动分词算法

所谓中文分词,就是将中文语句中的词汇切分出来。中文文本自动分词算法从20世纪80年代以来就一直是研究热点。分词技术作为自然语言处理的基础环节,同时也是关键环节之一,它的质量好坏直接影响到后续处理步骤的效果。本文将讨论三种基于规则的中文分词算法,分别是正向最大匹配法、逆向最大匹配法、双向匹配法,介绍其要点及优缺点,并代码...

算法导论(Introduction to Algorithms)exercises 5.1-3代码实现Unblased_random

intblased_random(){//返回1的概率为0.1,返回0的概率为0.9;returnrand()%10>8?1:0;}intunblased_random(){//等概率返回1,0;inta=0,b=0;for(;a==b;a=blased_random(),b=blased_random());r...

算法导论(Introduction to Algorithms)5.1-2代码实现

1intrandom_01(){//等概率返回0,1;23returnrand()%2;4}5intrandom_ab(inta,intb){//等概率返回区间[a,b]的整数;6intm=b-a;7intn=1;8for(;pow(2,n)-1<m;n++);//获取表示M所需的位数;9intres;10do{...

Redis数据结构列表实现

  前言在版本3.2之前,Redis列表list使用两种数据结构作为底层实现:压缩列表ziplist双向链表linkedlist默认为linkedlist在3.2之后,由quicklist实现。  Redis实现的是标准的双向链表。链表节点定义:   ...

接口限流算法

 限流限流顾名思义,提前对各个类型的请求设置最高的QPS阈值,若高于设置的阈值则对该请求直接返回,不再调用后续资源。限流需要结合压测等,了解系统的最高水位,也是在实际开发中应用最多的一种稳定性保障手段。应用场景:如秒杀、抢购、发帖、评论、恶意爬虫等。 限流算法的三种实现实际应用时,我们不大可能在单机...
代码星球 代码星球·2021-02-14

【机器学习】K-Means聚类算法原理

 原文链接:K-Means聚类算法原理作者:刘建平Pinard K-Means算法是无监督的聚类算法,它实现起来比较简单,聚类效果也不错,因此应用很广泛。K-Means算法有大量的变体,本文就从最传统的K-Means算法讲起,在其基础上讲述K-Means的优化变体方法。包括初始化优化K-Means+...

【机器学习】K-近邻算法(KNN)

 K-近邻算法(KNN)概述 邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。Cover和Hart在1968年提出了最初的邻近算法。KNN是一种...

负载均衡算法-java实现

出处:  Java代码实现负载均衡五种算法  前言:    负载均衡是为了解决并发情况下,多个请求访问,把请求通过提前约定好的规则转发给各个server。其中有好几个种经典的算法。在用java代码编写这几种算法之前,先来了解一下负载均衡这个...

时间轮算法 — 转

出处: 那些惊艳的算法们(三)——时间轮    自然界中定时任务无处不在,太阳每天东升西落,候鸟的迁徙,树木的年轮,人们每天按时上班,每个月按时发工资、交房租,四季轮换,潮涨潮落,等等,从某种意义上说,都可以认为是定时任务。大概很少有人想过,这些“定时”是怎样做到的。当然,计算机领域的同学...
代码星球 代码星球·2021-02-13
首页上一页...1112131415...下一页尾页