算法等零碎知识梳理

算法的五大特性

高效性、可读性、有穷性、健壮性、可行性。
可行性: 最通俗的理解就是,他可以运行,原则上可以精确运行。
有穷性: 也叫有限性, 指能够在有限的步骤中运行结束,避免死循环。
高效性: 算法运行的要足够快,效率高, 当然这就是优化问题了。
可读性: 源代码可以让正常人看懂。
健壮性: 安全性要好,不会被轻易破坏。也就是即使有问题的输入它也能做出一定处理。

分块查找

分块查找(索引顺序表查找)

子集树

子集树是一个数学学科词汇,属于函数类,当所给问题是从n个元素的集合S中找出S满足某种性质的子集时,相应的解空间称为子集树。
1、子集树解空间的最大叶节点数目就是n个元素的最多的子集个数,很明显n个元素的每一个元素都有两种选择是否位于子集中,故最多的子集个数为2^n;
2、子集树解空间的最多节点数为:2^(n+1)-1

排序算法各种性质

各类排序算法详细介绍

KMP字符串匹配算法

计算next和nextval的数组:
在这里插入图片描述
在计算出next之后,如果当前字符的next所对应的字符和当前字符相同,则将所对应的字符的nextval也写在当前的nextval上。如果不相同,则将当前的next值直接赋值给nextval。

数据结构分类

数据结构分为逻辑结构和物理结构。
逻辑结构就是元素之间的逻辑关系; 而物理结构就是存储时的关系。
把数据结构从逻辑上分为线性结构、非线性结构两大类。

相关算法说法

  1. 一个算法是求特定问题的运算序列。
  2. 算法是一个有穷规则的集合,其中之规则规定了一个解决某一特定类型的问题的运算序列。
  3. 算法是一个对任一有效输入能够停机的图灵机。
  4. 一个算法,它是满足5个特性的程序,这5个特性是:有限性、确定性、能行性、有0个或多个输入且有1个或多个输出。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值