算法
桃根仙
这个作者很懒,什么都没留下…
展开
-
勾股定理最简单的证明方法
在三角形中短直角边a,长直角边b,斜边c。则存在着一个公式现在我们来证明这个勾股定理:拿四个一模一样的三角形,通过平移,翻转拼接成右图的正方形,那么就存在面积关系+=原创 2020-09-11 15:27:53 · 13101 阅读 · 0 评论 -
一张价值百万的图
原创 2018-12-24 18:37:11 · 223 阅读 · 0 评论 -
精美的省、市、区三级分类
为了减轻数据库压力,采用逐层异步请求+缓存方式来优化性能。前端采用字符串拼接+字符串模板方式逐步请求。源码包括全国省市区数据库+基于tp的控制器+前端页面github托管地址:https://github.com/sunjdk/three-level.gitpublic function index(){ //$this->show('thinkphp');...原创 2018-12-26 03:57:51 · 278 阅读 · 0 评论 -
二叉堆-堆的创建删除添加
二叉堆是一种应用很广的数据结构,今天,我们就来简单讲讲二叉堆。什么是二叉堆?二叉堆是一种特殊的堆。具有如下的特性:1、具有完全二叉树的特性。2、堆中的任何一个父节点的值都大于等于它左右孩子节点的值,或者都小于等于它左右孩子节点的值。根据第二条特性,我们又可以把二叉堆分成两类:最大堆:父节点的值大于等于左右孩子节点的值。最小堆:父节点的值小于等于左右孩子节点的值。...转载 2019-01-14 09:54:56 · 1279 阅读 · 1 评论 -
PHP IPv6工具
PHP IPv6工具(v6tools)是一个小型库,提供IPv6地址,子网和EUI64的验证。<?phprequire('v6tools/autoload.php');if (!v6tools\Runtime::isIPv6Supported()) { fprintf(STDERR, "No ipv6 support"); exit(-1);}$ip = n...原创 2019-01-15 00:26:01 · 126 阅读 · 0 评论 -
一个在梦中梦到的数学题目
已知三角形2个顶点,求三角形重心转换为数学模型:已知三角形两坐标A(a,b),B(c,d),顶点C坐标位置(前提条件是该点的坐标能构成三角形),假设该三角形的重心为Q(x,y),求重心计算公式。...原创 2019-01-25 10:04:12 · 451 阅读 · 0 评论 -
线性表C语言实现代码
线性表特点1)存在惟一的被称作“第一个”的数据元素2)存在惟一的被称作最后一个”的数据元素3)除第一个外,集合中每个数据元素均只有驱4)除最后一个外,集合中每个数据元素只有个后继根据存储方式不同,分为顺序存储结构与链式存储结构。线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素#ifndef _LIST_H#define _LIST_H#define ...原创 2019-01-26 21:02:39 · 9426 阅读 · 1 评论 -
单链表
链接方式存储的线性表简称为链表链式存储结构特点用一组任意的存储单元来存放线性表的结点(这组存储单元既可以是连续的,也可以是不连续的)节点结构:数据域 指针域 链表中结点的逻辑次序和物理次序不一“定相同。为了能正确表示结点间的逻关系,在存储每个结点值的同时,还必须存储的地址(或位置)信息称为指针 pointer)或(mnk)单链表中每个结点的存储地址是存放在...原创 2019-01-27 00:21:11 · 122 阅读 · 0 评论 -
双向循环链表
一个结点包含指向后继(next)和指向前驱(prior)两个指针,两个方向又分别构成循环链表。双链表中有两条方向不同的链,即每个结点中除next域存放后继结点地址外,还增加一个指向其直接前驱的指针域删除结点时双链表可以自由的访问该结点的前驱后继在做插入结点或删除结点时还是要考虑是否是第一个结点或是最后一个结点 哨兵结点是个哑对象,可以简化边界条件//定义节点的结构ty...原创 2019-01-27 00:32:50 · 247 阅读 · 0 评论 -
商城市购物车逻辑
购物车展现的数据(商品id,商品数量,商品单价,[用户id])drop table if exists shop_cartcreate table if not exists shop_cart( cartid bigint unsigned not null auto_increment primary key, productid productnum...原创 2019-02-21 22:12:31 · 390 阅读 · 0 评论 -
无限级分类,树型菜单工具类
来自大佬的源码,能看懂,有需要的,赶紧收藏<?phpnamespace fast;use think\Config;/** * 通用的树型类 * @author XiaoYao <476552238li@gmail.com> */class Tree{ protected static $instance; //默认配置 pr...原创 2019-03-29 11:25:28 · 546 阅读 · 0 评论 -
归并排序
归并排序涉及到三个阶段:一、递归分割阶段二、迭代合并阶段三、数组复制归位有两个方法配合完成sort和msort,sort方法中把自己的需要排序的参数数组复制了一个新数组下面分解迭代合并的步骤:下面的序列有11个元素,索引范围为[first,last),mid=(first+last)/2=(0+11)/2=5package test;import java...原创 2018-12-09 04:12:04 · 97 阅读 · 0 评论 -
用递归实现数制转换(2-16)
public static String baseString(int n,int b) { String str="", strBt="0123456789abcdef"; if(n<=0) { return ""; }else { str=baseString(n/b,b); return str+strBt.charAt(n%b); } ...原创 2018-11-30 14:07:56 · 435 阅读 · 0 评论 -
汉诺塔问题
汉诺塔问题来自于印度一个寺庙的僧侣间流传着一个故事,在一个黄铜平台上有三个钻石宝塔河六十四个金蝶。僧侣们的使命是解决汉诺塔问题。如果问题解决了,此时世界末日也就到了,如果这个传说是真的,那么我们确信。僧侣们还在从事这一工作。至今未解决,汉诺塔问题需要进行 次移动。如果一秒进行一次移动那么完成任务需要5840亿年以上的时间。我们以具有三个圆盘的简单汉诺塔来,说明这个递归算法,同时查看圆盘从指针A通...原创 2018-12-02 11:25:41 · 384 阅读 · 0 评论 -
栈的经典应用--表达式
中缀表达式(波兰表达式)转后缀表达式的口诀:数字输出,运算符进栈,括号匹配出栈,栈顶优先级低出栈原创 2018-06-08 21:30:22 · 358 阅读 · 0 评论 -
七桥问题
18世纪著名古典数学问题之一。在哥尼斯堡的一个公园里,有七座桥将普雷格尔河中两个岛及岛与河岸连接起来(如图)。问是否可能从这四块陆地中任一块出发,恰好通过每座桥一次,再回到起点?欧拉于1736年研究并解决了此问题,他把问题归结为如右图的“一笔画”问题,证明上述走法是不可能的。有关图论研究的热点问题。18世纪初普鲁士的哥尼斯堡,有一条河穿过,河上有两个小岛,有七座桥把两个岛与河岸联系起来(如右上图)...原创 2018-07-16 00:33:07 · 29384 阅读 · 0 评论 -
冒泡排序
原理:比较两个相邻的元素,将值大的元素交换至右端。思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。举例说明:要排序数组:int[] arr={6,3,8,2,9,1}; 第一趟排...原创 2018-08-04 22:55:47 · 132 阅读 · 0 评论 -
线性表
线性表linear list const int MAXSIZE=线性表的最大长度typedef struct{ DataType elem[MAXSIZE]; int length;}SqList;线性表遍历1.顺序访问所有元素for(i=0;i<L.length;i++) visit(L.length[i]); 2.查找元素Xfor(i=0;i<...原创 2018-08-04 23:27:04 · 168 阅读 · 0 评论 -
一个用来校验注册短信验证码的方案
function create(){ $str=1111; $end=9999; $salt=array("H","E","L","L"); $str=rand($str,$end); $a=$str.$str%ord($salt[0]); //ord() 函数返回字符串的首个字符的 ASCII 值 $str=rand($str,$end); $a=$str.$str%ord(...原创 2018-10-22 11:34:15 · 778 阅读 · 0 评论 -
在TensorFlow中编程
英文原文:https://torres.ai/research-teaching/tensorflow/first-contact-with-tensorflow-book/first-contact-with-tensorflow/#cap1在简要描述了算法识别数字的功能之后,我们可以在TensorFlow中实现它。为此,我们可以快速了解张量 应如何 存储我们的数据和模型的参数。为此,下...原创 2018-10-23 19:59:27 · 275 阅读 · 0 评论 -
圆周率计算公式
最精确的算法:直到最后一项小于梅钦公式:是一种快速计算方式,精度小数点后一百位原创 2018-10-24 10:40:36 · 25125 阅读 · 3 评论 -
排序算法之-选择排序
假定arr是一个具有n=5个元素的整数数组{50,20,40,75,35}遍0:选择索引1处的整数20,交换arr[1]和arr[0]中的元素遍1:选择索引4处的整数35,交换arr[4]和arr[1]中的元素遍2:选择索引2处的整数40,交换arr[2]和arr[2]中的元素遍3:选择索引4处的整数50,交换arr[4]和arr[3]中的元素public static ...原创 2018-11-14 15:26:08 · 104 阅读 · 0 评论 -
排序算法之-基数排序
public static void radixSort(int[] arr, int d) { int i; // current digit found by dividing by 10^power int power = 1; // allocate 10 null references to a LinkedQueue ...原创 2018-11-14 15:27:59 · 156 阅读 · 0 评论 -
查找算法之-二分查找
这个实例给出了二叉搜索算法在9个元素的数组arr中查找某个目标值的过程0 1 2 3 4 5 6 7 8 -7 3 5 8 12 16 23 33 55 例子1:查找目标值230 1 2 3 4 5 6 7 8 -7 3 5...原创 2018-11-20 15:00:55 · 156 阅读 · 0 评论 -
java 实现二叉树的源码实现
public class BinaryTree{ private TreeNode root=null; public BinaryTree(){ root=new TreeNode(1,"A"); } /* 构建二叉树 A B C D E F */ public void createBi...原创 2018-05-25 00:47:14 · 1633 阅读 · 0 评论