随笔分类 -  数据结构与算法

摘要:算法通俗的来说就是解决一些问题方法和步骤,那么衡量算法的标准有如下: 1.时间复杂度 时间复杂度也就是通常所说的算法执行所需要耗费的时间,时间越短,算法越好,当然也有解释是程序要执行的次数,而不是程序执行的时间,因为有些机器性能高,程序执行的速度快,二有些机器性能一般执行就慢,所以这里就不能用时间来 阅读全文
posted @ 2018-05-05 20:11 songguojun 阅读(637) 评论(0) 推荐(0)
摘要:在了解二叉树之前先知道什么是树(tree),树结构是数据结构中一种非常重要的结构,应用很广,在很多系统程序中都有使用。 树结构和线性结构不同,可以把很多复杂的问题抽象成树结构,比如一个公司的人员组织架构,一个家庭的族谱,所以树结构可以表示一个层次关系,这种层次关系就是可以用树结构来表示。 树(tre 阅读全文
posted @ 2018-04-19 18:07 songguojun 阅读(1093) 评论(0) 推荐(0)
摘要:汉明距离是以理查德·卫斯里·汉明的名字命名的。在信息论中,两个等长字符串之间的汉明距离是两个字符串对应位置的不同字符的个数。换句话说,它就是将一个字符串变换成另外一个字符串所需要替换的字符个数。例如: 1011101 与 1001001 之间的汉明距离是 2。 2143896 与 2233796 之 阅读全文
posted @ 2018-04-19 17:27 songguojun 阅读(11090) 评论(0) 推荐(0)
摘要:动态规划的概念 每次决策依赖当前的状态,又随即引起状态的转移。一个决策序列就是在变化状态中产生出来的,所以这种多阶段最优化决策解决问题的过程就是动态规划。 动态规划的基本思想和策略 和分治算法类似是将待求解的问题分解成若干个子问题,按顺序求解子阶段,前一问题的解为后一个子问题的求解提供了有用的信息。 阅读全文
posted @ 2018-04-15 17:34 songguojun 阅读(210) 评论(0) 推荐(0)
摘要:一致性哈希算法简介 在分布式系统中负载均衡的问题中,我们可以使用Hash算法让固定的一部分请求落到同一台服务器上,这样每台服务器固定处理一部分请求(并维护这些请求的信息),起到负载均衡的作用。 阅读全文
posted @ 2018-03-19 20:32 songguojun 阅读(102) 评论(0) 推荐(0)
摘要:计算数字k在0到n中的出现的次数,k可能是[0~9]内的一个值。 例如数字n=25,k=1,在1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25,我们发现3出现了5次 5, 15, 25 阅读全文
posted @ 2018-03-01 13:49 songguojun 阅读(356) 评论(0) 推荐(0)
摘要:丑数描述 把只包含因子2,3,5的正整数被称作丑数,比如4,10,12都是丑数,而7,23,111则不是丑数。 判断方法 首先除2,直到不能整除为止,然后除5到不能整除为止,然后除3直到不能整除为止。最终判断剩余的数字是否为1,如果是1则为丑数,否则不是丑数。比如 8除以2等于4,4在除以2等于2 阅读全文
posted @ 2018-03-01 13:24 songguojun 阅读(238) 评论(0) 推荐(0)