#数据结构与算法

分治算法学习

递去,归来。能够用递归解决的问题需要满足三个条件:原问题可以转换为一个或多个子问题来求解,而这些子问题的求解方法和原问题完全相同,只是规模不同;递归调用次数必须是有限的;必须有结束递归的条件(递归出口)来终止递归。何时使用递归:定义是递归的(斐波那契);数据结构是递归的(二叉树、链表);问题求解的方法是递归的。递归转非...
代码星球 代码星球·2021-01-23

Diffie-Hellman算法简介

一、DH算法是一种密钥交换协议,它可以让双方在不泄漏密钥的情况下协商出一个密钥来。DH算法基于数学原理,比如小明和小红想要协商一个密钥,可以这么做:1.小明先选一个素数和一个底数,例如,素数p=23,底数g=5(底数可以任选),再选择一个秘密整数a=6,计算A=(g^amodp)=8,然后大声告诉小红:p=23,g=5...
代码星球 代码星球·2021-01-23

唯一ID算法之:snowflake(Java版本)

Twitter开源的算法,简单易用。/***Twitter_Snowflake<br>*SnowFlake的结构如下(每部分用-分开):<br>*0-00000000000000000000000000000000000000000-00000-00000-000000000000<br&...

CSharp遗传算法求解背包问题

 断断续续写了四天,感觉背包问题是最适合了解遗传算法的问题模型  usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namesp...

随机抽数的概率误区与洗牌算法

在重新做《复杂》一书中第九章提到的遗传算法例子的时候遇到了一个问题,遗传算法驱动的机器人罗比需要在不断的进化过程中产生出可以清理10X10方格内随机位置垃圾的最优策略。  10X10方格内的垃圾是随机放置的,假设需要随机放置50个垃圾的话,并视10X10网格为长度为100的线性空间,这就需要伪随机数...

利用遗传算法演化一个棋类游戏的人工智能

人工智能设计是大多数计算机游戏设计的一个重要组成部分,其最为主要的作用是塑造一个虚拟的玩家形象与游戏之中的真实玩家竞技或交流。目前在技术上说,大部分游戏之中的人工智能设计工作可以归结为有限状态机的设计。本文之中提到的这种棋类游戏,其状态机结构清晰简单,固可以方便的构建出仿真环境,接着用遗传算法推演出人工智能就比较简单了...

学习 常见计算广告点击率预估算法总结

原文:https://www.cnblogs.com/qcloud1001/p/7513982.html...

C# 小算法1

     //判断第一条的‘叶子2’在第二条数据中的索引//任河特大桥,右幅,叶子2,桩基混凝土,//任河特大桥,,,,,右幅,,,叶子2,桥墩,stringstr1="任河特大桥,右幅,叶子2,桩基混凝土,";stringstr2="任河特大桥,,,,,右幅,,,叶子...
代码星球 代码星球·2021-01-22

(js描述的)数据结构[树结构之红黑树](13)

1.二叉送搜索树的缺点:2.红黑树难度:3.红黑树五大规则:4.红黑树五大规则的作用:5.红黑树二大变换:1)变色2)旋转6.红黑树的插入五种变换情况:先声明--------插入的数据都是红色!!1)插入的位置是根节点--------------------------------------------直接插入根节点...

(js描述的)数据结构[树结构1.2](12)

1.先序遍历2.中序遍历3.后序遍历4.递归调用栈详解:详细见:https://zhuanlan.zhihu.com/p/242919785.删除节点操作分析:5.代码封装//封装二叉搜索树functionBinarySearchTree(){//封装节点内部类functionNode(key){this.key=ke...

(js描述的)数据结构[树结构1.1](11)

1.树结构:我们不能说树结构比其他结构都要好,因为每种数据结构都有自己特定的应用场景。但是树确实也综合了上面的数据结构的优点(当然有点不足于盖过其他的数据结构,比如效率一般情况下没有哈希表高)并且也弥补了上面数据结构的缺点。2.而且为了模拟某些场景,我们使用的树结构或更加方便。因为树结构的非线性,可以表示一对多的关系。...

(js描述的)数据结构[哈希表1.3](10)

1.哈希表的完善1.容量质数(limit):需要恒为质数,来确保元素的均匀分布。1)普通算法:判断一个数是否为质数functionisPrime(num){for(vari=2;i<num;i++){if(num%i==0){returnfalse}}returntrue}升级算法:只需要判断到(sqrt(num...

(js描述的)数据结构[哈希表1.2](9)

一.优秀的哈希函数1.快速的计算:需要快速的计算来获得对应的hashCode(霍纳法则来减少乘除次数)2.均匀的分布:尽可能将元素映射到不同的位置,让元素在哈希表中均匀分布二.哈希表的扩容三.哈希函数的实现//封装哈希表functionHashMap(){//属性this.storage=[]//存储数据this.co...
首页上一页...3637383940...下一页尾页