摘要:Dynamic Programming Dynamic Programming是五大常用算法策略之一,简称DP,译作中文是“动态规划”,可就是这个听起来高大上的翻译坑苦了无数人,因为看完这个算法你可能会觉得和动态规划根本没太大关系,它对“动态”和“规划”都没有太深的体现。 举个最简单的例子去先浅显的 阅读全文
posted @ 2020-02-13 10:42 头发是我最后的倔强 阅读 (194) 评论 (0) 编辑
摘要:快速排序 官方说法:快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过 阅读全文
posted @ 2020-01-10 18:23 头发是我最后的倔强 阅读 (44) 评论 (0) 编辑
摘要:递归与分治策略 递归与分治策略是五大常见算法策略之一,分治策略的思想就是 分而治之 ,即先将一个规模较大的大问题分解成若干个规模较小的小问题,再对这些小问题进行解决,得到的解,在将其组合起来得到最终的解。而分治与递归很多情况下都是一起结合使用的,能发挥出奇效(1+1 2),这篇文章我们将先从递归说起 阅读全文
posted @ 2020-01-08 10:27 头发是我最后的倔强 阅读 (389) 评论 (0) 编辑
摘要:排序算法小汇总 "1、交换排序类"    "1.1、冒泡排序"    "1.2、快速排序" "2、选择排序类"    "2.1、简单选择排序"    "2.2、堆排序" "3、插入排序类"    "3 阅读全文
posted @ 2019-10-24 11:33 头发是我最后的倔强 阅读 (443) 评论 (1) 编辑
摘要:TCP上传图片   继续做一个TCP的相关案例,在客户端上传一张图片到服务端,服务端收到图片后,给客户端回馈上传成功信息。 实现细节: 对于一些文件的读取,若文件偏大,可以始用缓冲区去读取和写入,可以提高效率 服务端面向的是很多用户,所以必须要开线程来接收 如果同一个用户上传多张 阅读全文
posted @ 2019-10-19 15:19 头发是我最后的倔强 阅读 (49) 评论 (0) 编辑
摘要:UDP聊天案例   做一个网络编程相关的案例,想着用利用UDP的快速且不用连接的优点做一个聊天室,我们一个聊天程序需要可以接收消息,也要可以发送消息,所以我们的DatagramSocket对象不但需要调用send函数,还需要调用recieve函数。   而且由 阅读全文
posted @ 2019-10-19 15:17 头发是我最后的倔强 阅读 (47) 评论 (0) 编辑
摘要:TCP 客户端 先创建socket对象建立tcp客户端,明确服务端的地址和端口,必须与服务端对应,要不然对方收不到消息,就像快递填错了送货地址。 ~~~java Socket s = new Socket("127.255.255.25", 10003); ~~~ 然后建立起连接通道后就会出现soc 阅读全文
posted @ 2019-10-19 11:31 头发是我最后的倔强 阅读 (46) 评论 (0) 编辑
摘要:UDP 我的另一篇文章 "TCP方式的传输" 部分内容需要查文档学习,我们需要了解下面的两个类:java.net.DatagramSocket和java.net.DatagramPacket java.net.DatagramSocket: 此类表示用来发送和接收数据报包的套接字。它就像数据传输过程 阅读全文
posted @ 2019-10-18 16:09 头发是我最后的倔强 阅读 (554) 评论 (0) 编辑
摘要:二叉排序树: 定义 二叉排序树,又叫二叉查找树,它或者是一棵空树;或者是具有以下性质的二叉树: 1. 若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值; 2. 若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值; 3. 它的左右子树也分别为二叉排序树。 比如下图就是一棵普通的二 阅读全文
posted @ 2019-10-17 19:31 头发是我最后的倔强 阅读 (223) 评论 (0) 编辑
摘要:深度优先遍历   首先我们说一下邻接点的定义,对于无向图,如果两个顶点之间相互连接,那么它们互称为邻接点。   深度优先遍历支持从指定的结点开始遍历。深度优先遍历,也称作深度优先搜索,缩写为DFS。深度优先遍历从某个顶点v出发,访问此顶点,然后从v的未被访问的 阅读全文
posted @ 2019-10-17 19:29 头发是我最后的倔强 阅读 (37) 评论 (0) 编辑