《数算》常见查找算法
《数算》常见查找算法在java中,我们常用的查找算法有四种:
线性查找、二分(折半)查找、插值查找、斐波那契(黄金分割点)查找,线性查找可查找有序数列或无序数列,其他三个查找算法必须是有序数列
1.线性查找一个个进行比较,时间复杂度较高O(n)
123456789101112131415161718 ...
《数算》常见排序算法
《数算》常见排序算法1.冒泡排序通过从头到尾比较前一位与后一位值arr[j]>arr[j+1]),交换数据(值),把最大的往后放。这样确保最后一个就是最大的,循环就可以减少1次。
因为前面确保了后面的数是放好的,那么后面的循环就可以不用比较了,arr.length-n-1(-1是因为前一位与后 ...
《数算》栈和队列
栈和队列栈:先进后出最先进入的最后出,就像子弹匣。
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152public class ArrayStack ...
《数算》双向链表
双向链表单链表中寻找一个已知节点的后继节点,其时间复杂度为O(1),而寻找节点的直接前驱的时间复杂度为O(n),如果要克服单链表的单向性缺点,可以使用双向链表。
节点结构如下123456789101112131415161718192021222324252627282930313233343 ...
《数算》循环链表和约瑟夫问题
循环链表与单链表相比,循环链表的优点是从链尾到链首比较方便,适用于处理具有环形结构的数据问题,比如著名的约瑟夫问题。
实现和单向链表实现相识,只是让尾部指向了头部,达到了循环的效果
12345678910111213141516171819202122232425262728293031323 ...
《数算》单向链表
单向链表和数组相同,链表也是一种线性表结构。作为非常基础、非常常用的两种数据结构,数组和链表经常被拿来比较。
链表定义
链表是一种线性表数据结构;
从底层存储结构上看,链表不需要一整块连续的存储空间,而是通过“指针”将一组零散的内存块串联起来使用;
链表中的每个内存块被称为链表的“结点”,每个结 ...
《数算》稀疏数组
稀疏数组的实现稀疏的作用:把原有数组有意义(不为空)的数据压缩在一个小规模的数组里,减少储存空间
应用:记录五子棋的棋盘情况,并保存在文件中
基本介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组
0 0 0 0 0 0 0 ...
Request与Response
web服务器接收到客户端的http请求,针对这个请求,分别创建一个代表请求的HttpServletRequest对象,代表响应的一个HttpServletResponse;
如果要获取客户端请求过来的参数:找HttpServletRequest
如果要给客户端响应一些信息:找HttpServlet ...
ServletContext
web容器在启动的时候,它会为每个web程序都创建一个对应的ServletContext对象,它代表了当前的web应用;
1.共享数据我在这个Servlet中保存的数据,可以在另外一个servlet中拿到;
123456789101112131415public class ServletTest ...
Servlet
1.Servlet简介
Servlet就是sun公司开发动态web的一门技术
Sun在这些API中提供一个接口叫做:Servlet,如果你想开发一个Servlet程序,只需要完成两个小步骤:
编写一个类,实现Servlet接口
把开发好的Java类部署到web服务器中。
把实现了Servlet ...