精华内容
下载资源
问答
  • 算法描述方法有哪几种
    万次阅读
    2021-07-29 02:05:32

    答案

    一、流程图

    流程图是描述代码的一种很好的工具,利用流程图,可以很好的表现出秩序执行过程中的三种基本结构组成—顺序结构、选择结构、循环结构等。需要注意的是,在使用流程图时,规定需要使用一些基本图形。

    还有一种流程图,叫做N-S图,是在以前的流程图的基础上重新进行了改变,去掉了流程线,并且算法的每一步都用一个框进行描述,最终的执行是将所有的矩形框按照顺序连接起来。

    二、伪代码

    伪代码是一种介于我们编写的由机器执行的语言,但是又不受语法约束的代码。这种语言时无法被机器执行的,但是和流程图一样,也是一种常用的描述算法的方法。

    伪代码主要是用来表示代码之间的逻辑关系,并不能交由计算机执行。因此,主要使用对象是设计师和程序员,是用来表达在编码前对算法执行过程中的一些想法的工具。

    三、自然语言

    算法的第三种表述,就是使用自然语言进行描述。自然语言比较符合我们的阅读习惯,是一种我们都能够理解的方式。不过,这种方式的缺点是无法很准确的描述循环、选择等结构。在使用自然语言描述算法的过程中,要求算法语言简练、层次清楚。因此,要注意语言和标点符号的使用。初次之外,还要在每个步骤前加上数字的标号。

    更多相关内容
  • 认识C语言 -算法描述的5种方法

    千次阅读 2021-05-20 13:37:13
    在 C语言中, 5 种常用算法描述方法:自然语言、流程图、N-S 图、伪代码和程序设计语言。1. 自然语言描述算法上一讲《算法是什么》中给出的解决问题的算法 a、算法 b 和算法 c 都是用自然语言来表示算法的(见上...

    在 C语言中,有 5 种常用的算法描述方法:自然语言、流程图、N-S 图、伪代码和程序设计语言。

    1. 自然语言描述算法

    上一讲《算法是什么》中给出的解决问题的算法 a、算法 b 和算法 c 都是用自然语言来表示算法的(见上一节的图2)。自然语言就是我们日常使用的各种语言,可以是汉语、英语、日语等。

    用自然语言描述算法的优点是通俗易懂,当算法中的操作步骤都是顺序执行时比较直观、容易理解。缺点是如果算法中包含了判断结构和循环结构,并且操作步骤较多时,就显得不那么直观清晰了。

    2. 用流程图描述算法

    用流程图描述算法就可以解决上述缺点。所谓流程图(Flow Chart),是指用规定的图形符号来描述算法(见表 1)。

    表 1:流程图常用的图形符号

    图形符号

    名称

    含义

    e3cb355c169e675a083df34a7db1c6fe.gif

    起止框

    程序的开始或结束

    49c1ab243c831929adc357c319304ad1.gif

    处理框

    数据的各种处理和运算操作

    2c044909d85beec7cf6f28ea133a2647.gif

    输入/输出框

    数据的输入和输出

    66fae558402a283c22e6c8f0bdb04f4a.gif

    判断框

    根据条件的不同,选择不同的操作

    f917625baeea9a40de68dd9981a93fbf.gif

    连接点

    转向流程图的他处或从他处转入

    589616e71087e6a3c87622f361ce47df.gif

    流向线

    程序的执行方向

    结构化程序设计方法中规定的三种基本程序流程结构(顺序结构、选择结构和循环结构)都可以用流程图明晰地表达出来(见图 1)。

    28c5d8a31b3677a27b832fca32797650.gif

    图 1:用流程图表示的顺序结构、选择(条件分支)结构、循环结构三种流程

    3. 用 N-S 图描述算法

    虽然用流程图描述的算法条理清晰、通俗易懂,但是在描述大型复杂算法时,流程图的流向线较多,影响了对算法的阅读和理解。因此有两位美国学者提出了一种完全去掉流程方向线的图形描述方法,称为 N-S 图(两人名字的首字母组合)。

    N-S 图使用矩形框来表达各种处理步骤和三种基本结构(见图 2),全部算法都写在一个矩形框中。

    289f76de33098a37e7bf5684710fe077.gif

    图 2:用 N-S 图表示的顺序结构、选择(条件分支)结构、循环结构三种流程

    图 3 展示了分别用自然语言、流程图和 N-S 图解决同一问题的算法描述。

    f2ff8ae243c4182ff3f21e65d443f8f2.gif

    图 3:分别用自然语言、流程图和 N-S 图描述的算法

    4. 用伪代码描述算法

    伪代码是用在更简洁的自然语言算法描述中,用程序设计语言的流程控制结构来表示处理步骤的执行流程和方式,用自然语言和各种符号来表示所进行的各种处理及所涉及的数据(见图 4)。它是介于程序代码和自然语言之间的一种算法描述方法。这样描述的算法书写比较紧凑、自由,也比较好理解(尤其在表达选择结构和循环结构时),同时也更有利于算法的编程实现(转化为程序)。

    4b9356618fbc32bec2ef7f254a8d8567.gif

    图 4:常见的三种流程结构的伪代码

    5. 用程序设计语言来描述算法

    算法最终都要通过程序设计语言描述出来(编程实现),并在计算机上执行。程序设计语言也是算法的最终描述形式(见图 5)。无论用何种方法描述算法,都是为了将其更方便的转化为计算机程序。

    360e7cee69cb8d49b7e1e092b8c6419d.gif

    图 5:用伪代码和程序设计语言(C语言)描述的算法

    #include

    int main(){

    int S=0;

    int i=0;

    while(i<100)

    {

    i=i+1;

    S=S+i;

    }

    printf("1+2+3+…+100=%d",S);

    system("pause");

    }

    展开全文
  • 推荐系统的几种常用算法总结

    万次阅读 多人点赞 2019-09-25 08:24:27
    尊敬的读者您好:笔者很高兴自己...若觉得本文对您益处还请帮忙点个赞鼓励一下,笔者在此感谢每一位读者,如需联系笔者,请记下邮箱:zengzenghe@gmail.com,谢谢合作! 之前也做过一些关于推荐系统的项目...

    尊敬的读者您好:笔者很高兴自己的文章能被阅读,但原创与编辑均不易,所以转载请必须注明本文出处并附上本文地址超链接以及博主博客地址:https://blog.csdn.net/vensmallzeng。若觉得本文对您有益处还请帮忙点个赞鼓励一下,笔者在此感谢每一位读者,如需联系笔者,请记下邮箱:zengzenghe@gmail.com,谢谢合作!

     

     

     

    之前也做过一些关于推荐系统的项目,下面就来系统的总结一下。

    一、 什么是推荐系统?

            引用百度百科的一段解释就是:“利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程。个性化推荐是根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品。”

           在这个数据过载的时代,信息的消费者需要从海量的信息中找到自己所需要的信息,信息的生产者要让自己生产的信息在海量的信息中脱颖而出,这时推荐系统就应运而生了。对用户而言,推荐系统不需要用户提供明确的目标;对物品而言,推荐系统解决了2/8现象的问题(也叫长尾效应),让小众的物品可以展示到需要它们的用户面前。

    二、推荐系统要解决的问题?

    1、帮助用户找到想要的物品 如:书籍、电影等

    2、可以降低信息过载

    3、有利于提高站点的点击率/转化率

    4、有利于对用户进行深入了解,为用户提供个性化服务

    三、推荐系统的发展趋势?

           推荐系统的研究大致可以分为三个阶段,第一阶段是基于传统的服务,第二阶段是基于目前的社交网络的服务,第三阶段是即将到来的物联网。这其中产生了很多基础和重要的算法,例如协同过滤(包括基于用户的和基于物品的)、基于内容的推荐算法、混合式的推荐算法、基于统计理论的推荐算法、基于社交网络信息(关注、被关注、信任、知名度、信誉度等)的过滤推荐算法、群体推荐算法、基于位置的推荐算法。其中基于邻域的协同过滤推荐算法是推荐系统中最基础、最核心、最重要的算法,该算法不仅在学术界得到较为深入的研究,而且在业界也得到非常广泛的应用,基于邻域的算法主要分为两大类,一类是基于用户的协同过滤算法,另一类是基于物品的协同过滤算法,除此之外,基于内容的推荐算法应用也非常广泛等等,因此下文将对涉及推荐系统的常用算法进行详细介绍。

    1、基于流行度的推荐算法

    2、基于协同过滤的推荐算法(UserCF与ItemCF)

    3、基于内容的推荐算法

    4、基于模型的推荐算法

    5、基于混合式的推荐算法

    四、基于流行度的推荐算法

    基于流行度的算法非常简单粗暴,类似于各大新闻、微博热榜等,根据PV、UV、日均PV或分享率等数据来按某种热度排序来推荐给用户。

    注:独立访客(UV)、访问次数(VV)两个指标有什么区别?

    ① 访问次数(VV):记录1天内所有访客访问了该网站多少次,相同的访客有可能多次访问该网站,且访问的次数累加。

    ② 独立访客(UV):记录1天内所有访客访问了该网站多少次,虽然相同访客能多次访问网站,但只计算为1个独立访客。

    ③ PV访问量(Page View):即页面访问量,每打开一次页面或者刷新一次页面,PV值+1。

    1、优点:该算法简单,适用于刚注册的新用户

    2、缺点:无法针对用户提供个性化的推荐

    3、改进:基于该算法可做一些优化,例如加入用户分群的流行度进行排序,通过把热榜上的体育内容优先推荐给体育迷,把政要热文推给热爱谈论政治的用户。

    五、基于用户的协同过滤推荐算法

    当目标用户需要推荐时,可以先通过兴趣、爱好或行为习惯找到与他相似的其他用户,然后把那些与目标用户相似的用户喜欢的并且目标用户没有浏览过的物品推荐给目标用户。

    1、基于用户的CF原理如下:

              ① 分析各个用户对物品的评价,通过浏览记录、购买记录等得到用户的隐性评分;

              ② 根据用户对物品的隐性评分计算得到所有用户之间的相似度;

              ③ 选出与目标用户最相似的K个用户;

              ④ 将这K个用户隐性评分最高并且目标用户又没有浏览过的物品推荐给目标用户。

    2、优点:

               ① 基于用户的协同过滤推荐算法是给目标用户推荐那些和他有共同兴趣的用户喜欢的物品,所以该算法推荐较为社会化,即推荐的物品是与用户兴趣一致的那个群体中的热门物品;

               ② 适于物品比用户多、物品时效性较强的情形,否则计算慢;

               ③ 能实现跨领域、惊喜度高的结果。

    3、缺点:

               ① 在很多时候,很多用户两两之间的共同评分仅有几个,也即用户之间的重合度并不高,同时仅有的共同打了分的物品,往往是一些很常见的物品,如票房大片、生活必需品;

               ② 用户之间的距离可能变得很快,这种离线算法难以瞬间更新推荐结果;    

               ③ 推荐结果的个性化较弱、较宽泛。

    4、改进:

               ① 两个用户对流行物品的有相似兴趣,丝毫不能说明他们有相似的兴趣,此时要增加惩罚力度;

               ② 如果两个用户同时喜欢了相同的物品,那么可以给这两个用户更高的相似度;

               ③ 在描述邻居用户的偏好时,给其最近喜欢的物品较高权重;

               ④ 把类似地域用户的行为作为推荐的主要依据。

    六、基于物品的协同过滤推荐算法

    当一个用户需要个性化推荐时,举个例子由于我之前购买过许嵩的《梦游计》这张专辑,所以会给我推荐《青年晚报》,因为很多其他用户都同时购买了许嵩的这两张专辑。

    1、基于物品的CF原理如下:

               ① 分析各个用户对物品的浏览记录;

               ② 依据浏览记录分析得出所有物品之间的相似度;

               ③ 对于目标用户评价高的物品,找出与之相似度最高的K个物品;

               ④ 将这K个物品中目标用户没有浏览过的物品推荐给目标用户

    2、优点:

               ① 基于物品的协同过滤推荐算法则是为目标用户推荐那些和他之前喜欢的物品类似的物品,所以基于物品的协同过滤推荐算法的推荐较为个性,因为推荐的物品一般都满足目标用户的独特兴趣。

               ② 物品之间的距离可能是根据成百上千万的用户的隐性评分计算得出,往往能在一段时间内保持稳定。因此,这种算法可以预先计算距离,其在线部分能更快地生产推荐列表。

               ③ 应用最广泛,尤其以电商行业为典型。

               ④ 适于用户多、物品少的情形,否则计算慢

               ⑤ 推荐精度高,更具个性化

               ⑥ 倾向于推荐同类商品

    3、缺点:

               ① 不同领域的最热门物品之间经常具有较高的相似度。比如,基于本算法,我们可能会给喜欢听许嵩歌曲的同学推荐汪峰的歌曲,也就是推荐不同领域的畅销作品,这样的推荐结果可能并不是我们想要的。

               ② 在物品冷启动、数据稀疏时效果不佳

               ③ 推荐的多样性不足,形成信息闭环

    4、改进:

               ① 如果是热门物品,很多人都喜欢,就会接近1,就会造成很多物品都和热门物品相似,此时要增加惩罚力度;

               ② 活跃用户对物品相似度的贡献小于不活跃的用户;

               ③ 同一个用户在间隔很短的时间内喜欢的两件商品之间,可以给予更高的相似度;

               ④ 在描述目标用户偏好时,给其最近喜欢的商品较高权重;

               ⑤ 同一个用户在同一个地域内喜欢的两件商品之间,可以给予更高的相似度。

    七、基于内容的推荐算法

    协同过滤算法仅仅通过了解用户与物品之间的关系进行推荐,而根本不会考虑到物品本身的属性,而基于内容的算法会考虑到物品本身的属性。

    根据用户之前对物品的历史行为,如用户购买过什么物品、对什么物品收藏过、评分过等等,然后再根据计算与这些物品相似的物品,并把它们推荐给用户。例如某用户之前购买过许嵩的《寻宝游戏》,这可以说明该用户可能是一个嵩鼠,这时就可以给该用户推荐一些许嵩的其他专辑或著作。

    1、基于内容的推荐算法的原理如下:

              ① 选取一些具有代表性的特征来表示每个物品

              ② 使用用户的历史行为数据分析物品的这些特征,从而学习出用户的喜好特征或兴趣,也即构建用户画像

              ③ 通过比较上一步得到的用户画像和待推荐物品的画像(由待推荐物品的特征构成),将具有相关性最大的前K个物品中目标用户没有浏览过的物品推荐给目标用户

    2、优点:
              ① 是最直观的算法

              ② 常借助文本相似度计算

              ③ 很好地解决冷启动问题,并且也不会囿于热度的限制

    3、缺点:

              ① 容易受限于对文本、图像、音视频的内容进行描述的详细程度

              ② 过度专业化(over-specialisation),导致一直推荐给用户内容密切关联的item,而失去了推荐内容的多样性。

              ③ 主题过于集中,惊喜度不足

    八、基于模型的推荐算法

    基于模型的推荐算法会涉及到一些机器学习的方法,如逻辑回归、朴素贝叶斯分类器等。基于模型的算法由于快速、准确,适用于实时性比较高的业务如新闻、广告等,而若是需要这种算法达到更好的效果,则需要人工干预反复的进行属性的组合和筛选,也就是常说的Feature Engineering。而由于新闻的时效性,系统也需要反复更新线上的数学模型,以适应变化。

    九、基于混合式的推荐算法

    现实应用中,其实很少有直接用某种算法来做推荐的系统。在一些大的网站如Netflix,就是融合了数十种算法的推荐系统。我们可以通过给不同算法的结果加权重来综合结果,或者是在不同的计算环节中运用不同的算法来混合,达到更贴合自己业务的目的。

    十、推荐结果列表处理

    1、当推荐算法计算得出推荐结果列表之后,我们往往还需要对结果进行处理。比如当推荐的内容里包含敏感词汇、涉及用户隐私的内容等等,就需要系统将其筛除;

    2、若多次推荐后用户依然对某个物品毫无兴趣,就需要将这个物品降低权重,调整排序;

    3、有时系统还要考虑话题多样性的问题,同样要在不同话题中筛选内容。

    十一、推荐结果评估

    当一个推荐算法设计完成后,一般需要用查准率(precision),查全率(recall),点击率(CTR)、转化率(CVR)、停留时间等指标进行评价。

    查准率(precision):推荐给用户且用户喜欢的物品在推荐列表中的比重

    查全率(recall):推荐给用户且用户喜欢的物品在用户列表中的比重

    点击率(CTR):实际点击了的物品/推荐列表中所有的物品

    转化率(CVR):购买了的物品/实际点击了的物品

     

     

     

    日积月累,与君共进,增增小结,未完待续。

    展开全文
  • 常用算法设计方法

    千次阅读 2018-05-02 20:22:25
    一、迭代法 迭代法是用于求方程或方程组近似根的一种常用算法设计方法。二、穷举搜索法 穷举搜索法是对可能是解的众多候选解按某种顺序进行逐一枚举和检验,并从众找出那些符合要求的候选解作为问题的解。三、...

        经常采用的算法设计技术主要有迭代法、穷举搜索法、递推法、贪婪法、回溯法、分治法、动态规划法等等。另外,为了更简洁的形式设计和藐视算法,在算法设计时又常常采用递归技术,用递归描述算法。

    一、迭代法

      迭代法是用于求方程或方程组近似根的一种常用的算法设计方法。

    二、穷举搜索法

      穷举搜索法是对可能是解的众多候选解按某种顺序进行逐一枚举和检验,并从众找出那些符合要求的候选解作为问题的解。

    三、递推法

      递推法是利用问题本身所具有的一种递推关系求问题解的一种方法。

    四、递归

       采用递归描述的算法通常有这样的特征:为求解规模为N的问题,设法将它分解成规模较小的问题,然后从这些小问题的解方便地构造出大问题的解,并且这些规模较小的问题也能采用同样的分解和综合方法,分解成规模更小的问题,并从这些更小问题的解构造出规模较大问题的解。特别地,当规模N=1时,能直接得解。

    五、回溯法

        回溯法也称为试探法,该方法首先暂时放弃关于问题规模大小的限制,并将问题的候选解按某种顺序逐一枚举和检验。

        回溯法的实质是在包含问题的所有解的解空间树中,按照深度优先的策略,从根节点出发搜索解空间树。若进入某子节点的子树后没有找到解(或者需要找出全部解),则需要从子节点回退(回溯)至父节点,从而可以选择其他子节点进行搜索。回溯法有“通用的解题法”之称,用它可以系统地搜索一个问题的所有解或任一解。

    六、贪婪法

      贪婪法是一种不追求最优解,只希望得到较为满意解的方法。贪婪法一般可以快速得到满意的解,因为它省去了为找最优解要穷尽所有可能而必须耗费的大量时间。贪婪法常以当前情况为基础作最优选择,而不考虑各种可能的整体情况,所以贪婪法不要回溯。

    七、分治法

    1、分治法的基本思想

    任何一个可以用计算机求解的问题所需的计算时间都与其规模N有关。问题的规模越小,越容易直接求解,解题所需的计算时间也越少。  

    分治法的设计思想是,将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。

    如果规模为n的问题可分解成k个子问题,1<k≤n,这些子问题互相独立且与原问题相同。

    如:

                斐波那契(Fibonacci)数列可以递归地定义为:

                

    2、分治法的适用条件

      分治法所能解决的问题一般具有以下几个特征:

      (1)该问题的规模缩小到一定的程度就可以容易地解决;

      (2)该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质;

      (3)利用该问题分解出的子问题的解可以合并为该问题的解;

      (4)该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子子问题。

    3、分治法的基本步骤

     分治法在每一层递归上都有三个步骤:

      (1)分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题;

      (2)解决:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题;

      (3)合并:将各个子问题的解合并为原问题的解。

    八、动态规划法

      为了节约重复求相同子问题的时间,引入一个数组,不管它们是否对最终解有用,把所有子问题的解存于该数组中,这就是动态规划法所采用的基本方法。

        动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。

        与分治法不同的是,适合于用动态规划法求解的问题,经分解得到的子问题往往不是独立的。若用分治法来解这类问题,则相同的子问题会被求解多次,以至于最后解决原问题需要耗费指数级时间。动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解,每个解都对应于一个值,我们希望找到具有最优值(最大值或最小值)的那个解。


    展开全文
  • 算法思想很多,业界公认的常用算法思想8,分别是枚举、递推、递归、分治、贪心、试探法、动态迭代和模拟。当然8只是一个大概的划分,是一个“仁者见仁、智者见智”的问题。 1.1 枚举算法思想 知识点讲解...
  • 五大常用算法

    万次阅读 多人点赞 2018-10-05 07:13:50
    五大常用算法   分治算法   一、基本概念  在计算机科学中,分治法是一很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题...
  • C++ 几种常用排序算法讲解

    万次阅读 多人点赞 2017-06-06 20:01:24
    排序算法,大家用过或者写得最多就是冒泡算法了吧,就是临近的数字两两比较,用两层循环来比较。这样,第一趟(外循环)完后最小或者最大的值就到了最前面,形象点就是小泡泡浮了起来。这个不用多介绍了,直接上代码...
  • 机器学习9种常用算法

    万次阅读 多人点赞 2017-12-18 22:26:07
    一、常见算法分类 分类方法KNN 逻辑斯蒂回归(logiscic) 决策树 朴素贝叶斯 支持向量机SVC 回归方法KNN 普通线性回归(linear) 岭回归(ridge) lasso回归 决策树 支持向量机SVR 聚类方法 K均值算法(K-means) (无...
  • 几种经典的排序算法

    万次阅读 多人点赞 2018-05-31 15:37:57
    冒泡排序算法的运作如下:(从后往前) 1)比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2)对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 ...
  • 从使用的广义角度上看,数据挖掘常用分析方法主要分类、聚类、估值、预测、关联规则、可视化等。从数据挖掘算法所依托的数理基础角度归类,目前数据挖掘算法主要分为三大类:机器学习方法、统计方法与神经网络方法...
  • 常见的几种特征提取算法

    万次阅读 2019-07-01 09:08:00
    常见的几种特征提取算法1. LBP算法(Local Binary Patterns,局部二值模式)2.HOG特征提取算法(Histogram of Oriented Gradient)3.SIFT算子(Scale-invariant feature transform,尺度不变特征变换) 1. LBP算法...
  • 1. 先进先出进程调度算法(FIFO) (先来先服务FCFS) 按照进程就绪的先后次序来调度进程。 优点: 实现简单 缺点: 没考虑进程的优先级 2. 短作业(进程)优先调度算法(SJF SPF) 选择就绪队列中估计运行时间最短的...
  • 几种常用加密算法比较

    千次阅读 2016-09-13 11:52:11
    DES加密算法 DES加密算法是一分组密码,以64位为分组对数据加密,它的密钥长度是56位,加密解密用同一算法。DES加密算法是对密钥进行保密,而公开算法,包括加密和解密算法。这样,只有掌握了和发送方相同密钥的人...
  • 几种经典的hash算法

    万次阅读 2017-03-01 15:05:05
    用“人 类”的语言描述单向函数就是:如果某个函数在给定输入的时候,很容易计算出其结果来;而当给定结果的时候,很难计算出输入来,这就是单项函数。各种加密函 数都可以被认为是单向函数的逼近。Hash函数(或者...
  • 关联规则常用算法

    万次阅读 多人点赞 2020-07-03 15:53:41
    关联规则常用算法   关联规则(Association Rules)是海量数据挖掘(Mining Massive Datasets,MMDs)非常经典的任务,其主要目标是试图从一系列事务集中挖掘出频繁项以及对应的关联规则。关联规则来自于一个...
  • 算法设计之五大常用算法设计方法总结

    万次阅读 多人点赞 2013-09-08 19:22:13
    算法设计之五大常用算法设计方法总结 一、【分治法】  在计算机科学中,分治法是一很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的...
  • 由于我之前一直强调数据结构以及算法学习的重要性,所以就一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,...
  • 建树的几种常用方法

    千次阅读 2020-10-03 12:19:44
    方法一: 此方法适用条件: 1.当我们遍历这颗树时只需要从父节点查找到子节点,不需要从子节点查找到父节点. 2.所建树为一颗二叉树 实现代码: class Tree{ int value;//代表该点的权值 int left_son;//左儿子编号 ...
  • 几种常见的聚类方法

    万次阅读 2019-10-17 18:51:55
    作为无监督学习的一个重要方法,聚类的思想就是把属性相似的样本归到一类。对于每一个数据点,我们可以把它归到一个特定的类,同时每个类之间的所有数据点在某种程度上有着共性,比如空间位置接近等特性。多用于数据...
  • 几种压缩算法

    千次阅读 2018-01-24 16:37:37
    一、 行程长度压缩  原理是将一扫描行中的颜色值相同的相邻像素用一个计数值和那些像素的颜色值来代替。... 1.PCX行程压缩方法: 该算法实际上是位映射格式到压缩格式的转换算法,该算法对于连续 出现1次的字节
  • 一、数据挖掘任务分类1、预测性和描述性的主要区别在于是否目标变量2、预测性包括分类和回归:(1)分类:输出变量为离散型,常见的算法包括(朴素)贝叶斯、决策树、逻辑回归、KNN、SVM、神经网络、随机森林。...
  • 目录简介一、监督学习1、决策树(Decision Tree,DT)2、朴素贝叶斯分类器(Naive Bayesian Model,NBM)3、最小二乘法(Least squares)4、逻辑回归(Logistic Regression)5、支持向量机(SVM)6、K最近邻算法...
  • 操作系统中的进程调度策略有哪几种

    万次阅读 多人点赞 2018-09-22 09:00:39
    先来先服务调度算法:先来先服务(FCFS)调度算法是一最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。当在作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业...
  • 几种常用的聚类算法分析比较

    千次阅读 2015-03-30 11:12:13
    而不同类个体间距离尽可能大,为了找到效率高、通用性强的聚 类方法人们从不同角度提出了近百聚类方法,典型的K-means方法、K-medoids方法、CLARANS方法,BIRCH方法等,这些算法适用 于特定的问题及用户。...
  • 数据挖掘算法——常用分类算法总结

    万次阅读 多人点赞 2019-06-17 10:55:22
    常用分类算法总结分类算法总结NBC算法LR算法SVM算法ID3算法C4.5 算法C5.0算法KNN 算法ANN 算法 分类算法总结 分类是在一群已经知道类别标号的样本中,训练一分类器,让其能够对某种未知的样本进行分类。分类算法...
  • 常用的三哈希算法

    万次阅读 多人点赞 2019-05-17 21:36:33
    散列算法(Hash Algorithm),又称哈希算法,Hash算法能将将任意长度的二进制明文映射为较短的二进制串的算法,并且不同的明文很难映射为相同的Hash值。也可以理解为空间映射函数,是从一个非常大的取值空间映射到一...
  • 分享Java常用几种加密算法(四种)

    千次阅读 2017-05-09 17:02:28
    本文给大家分享java常用几种加密算法,需要的朋友可以参考下 对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥(mi yue)一起经过特殊加密算法处理后,...
  • 图像匹配几种常见算法与实践

    万次阅读 多人点赞 2020-08-07 19:05:18
    奇技 · 指南本文主要内容1.模版匹配2.特征匹配3.深度学习去找目标图像匹配的应用及背景图像匹配是指通过一定的匹配算法在两幅或多幅图像之间识别同名点。应用:遥感(制图更新),计算机视觉...
  • 几种常见模式识别算法整理和总结

    万次阅读 多人点赞 2018-09-03 10:48:14
    K-NN可以说是一最直接的用来分类未知数据的方法。基本通过下面这张图跟文字说明就可以明白K-NN是干什么的   简单来说,K-NN可以看成:那么一堆你已经知道分类的数据,然后当一个新数据进入的时候,就开始跟...
  • 几种经典常用加密算法

    千次阅读 2015-10-27 11:08:17
     MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 451,280
精华内容 180,512
关键字:

常用的算法描述方法有哪几种