简单的算法整理 与 App网络链接 | 青训营笔记

67 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 11 天

由于最近过年 也没有什么课 所以复习并整理了下本人学过的算法希望有用

基础算法 

排序
二分
高精度
前缀和与差分
双指针算法
位运算
离散化
区间合并
数据结构

链表与邻接表:树与图的存储
栈与队列:单调队列、单调栈
kmp
Trie
并查集
堆
Hash表
搜索与图论 

DFS与BFS
树与图的遍历:拓扑排序
最短路
最小生成树
二分图:染色法、匈牙利算法


数学知识 

质数
约数
欧拉函数
快速幂
扩展欧几里得算法
中国剩余定理
高斯消元
组合计数
容斥原理
简单博弈论


动态规划

背包问题
线性DP
区间DP
计数类DP
数位统计DP
状态压缩DP
树形DP
记忆化搜索


贪心

时空复杂度分析

以上为算法的简单整理

就目前我所了解,可以分为两大类,Socket方式 和 Http方式。
其中,Socket方式所需使用的类,及Http方式中HttpUrlConnection类,都是JDK中的java类,跟传统java网络编程无差异。
1.Socket是针对传输层协议的,据说可以支持多种协议,不过java中貌似主要用来进行基于TCP/IP协议的网络编程。
它只是在两个网络进程间建立起稳定点到点连接,可以互相发送字节流,至于这些字节流双方按照什么协议解析,完全看程序开发者自己怎么设计。
2.Http方式,故名思议,是按照应用层HTTP协议规范进行网络连接。至于具体底层如何按照HTTP协议来编写程序实现网络连接,作为应用层开发者并不需要很清楚,因为已经有很多现成的程序包实现了这些功能,并且向我们提供简便易用的java api接口,其中既有JDK提供的HttpUrlConnection方式,也有开源组织Apache提供的HttpClient方式。(还有很多其它第三方方式。任何一个人假如足够牛,又肯花功夫,也可以自己来实现相关功能,并提供自己的java api编程接口。)

参考引用:blog.csdn.net/u013914309/…