开始之前,引用书中的一段话: "学习算法的主要原因是它们能节约非常多的资源,甚至能够让我们完成一些本不可能完成的任务.在某些需要处理上百万个对象的应用程序,设计优良的算法甚至可以将程序运行的速度提高数百万倍.在本书中我们将在多个场景中看到这样的例子.与此相反,花费金钱和时间去购置新的硬件可能只能将速度提高十倍或是百倍.无论在任何应用领域,精心设计的算法都是解决大型问题最有效的方法." 生活就像海洋,只有意志坚强的人才能到达彼岸.愿自己能坚持下去~ ps:橙色字体为个人的补充. 总结:本…
java程序(类)其实是一个静态方法库,或者是定义了一个数据类型.所以会遵循7种语法:     1.原始数据类型:             ---整型:byte.short.int.long ---浮点型:float.double ---字符型:char             数据类型纵览图:   2.语句:分为6种(声明.赋值.条件.循环.调用.返回). 3.数组:最简单的数据结构. 4.静态方法   5.字符串 6.标准输入/输出:是程序与外界建立 的桥梁. 7.数据抽象:对数据抽象封装和…
Java的基本结构是 /** * 可以用来自动创建文档的注释 */ public class Hello { public static void main(String[] args) { // 向屏幕输出文本: System.out.println("Hello, world!"); /* 多行注释开始 注释内容 注释结束 */ } } // class定义结束 Java是面向对象的语言,一个程序的基本单位就是class,class是关键字,这里定义的class的名字就是Hello…
下压(LIFO)栈:可以动态调整数组大小的实现 import java.util.Iterator; public class ResizingArrayStack<Item> implements Iterable<Item> { private int N = 0; private Item[] a = (Item[]) new Object[1]; public boolean isEmpty() { return N == 0; } public int size() {…
希尔排序思想:使数组中随意间隔为h的元素都是有序的. 希尔排序是插入排序的优化.先对数组局部进行排序,最后再使用插入排序将部分有序的数组排序. 代码例如以下: /** * * @author seabear * */ public class ShellSort { public static void sort(Comparable[] a) { int N = a.length; int h = 1; while(h < N/2) { h = 4 * h + 1; } while(h >=…
  问题主题:类型转换   书页号码:37页 题目: 讨论点:答案不是D,应该是B 理由:看下面在编译器输入的结果 知识扩展:装箱与拆箱, == 与 equals 区别 之前也老是听说什么装箱.拆箱之类的(装你妹的箱,JAVA概念就是多),之前不太留意,后来查了一下资料.所谓的装箱与拆箱主要是因为JAVA里面每一种基础类型都有相对应的对象类型,你比如基础类型 int 对应的是Integer,long 对应 Long,double 对应 Double 等等,为什么每种基础类型都有相对应的对象类型呢…
获得元素操作 对于线性表的顺序存储结构来说,我们要实现getElement操作,即将线性表的第i个位置元素返回即可 插入操作 插入算法思路: 1.如果插入位置不合理,抛出异常 2.如果插入表的长度大于等于数组长度,则抛出异常或动态增容 3.从最后一位元素开始向前遍历到第i个位置,分别把它们都向后移动一个位置 4.将要插入元素填入位置i处 5.表长度加1 删除操作 1.如果删除位置不合理,抛出异常 2.取出插入元素 3.从删除元素位置开始遍历到最后一个元素位置,分别将它们都向前移动一位 4.表长度…
<算法 (第4版)>[PDF]下载链接: https://u253469.ctfile.com/fs/253469-231196349 (第4版)>[PDF]"  TITLE="<算法 (第4版)>[PDF]" /> 内容介绍 <算法(第4版)>是Sedgewick之巨著,与高德纳TAOCP一脉相承,是算法领域经典的参考书,涵盖所有程序员必须掌握的50种算法,全面介绍了关于算法和数据结构的必备知识,并特别针对排序.搜索.图处理和…
下载地址:https://download.csdn.net/download/moshenglv/10777447 算法第四版,文字版,可复制,方便copy代码 目录: 第1章 基 础 ....................... . ..........................11.1 基础编程模型 ..................................... 41.1.1 Java程序的基本结构 ................. 41.1.2原始数据类型与表达式…
工作五年了一直在小的软件公司混,总感觉自己的专业知识没有太大的提升.当然了中间也换了一两家公司,面试的公司就很多家,总感觉正规的软件公司(无论大小)对于基础知识的考核都非常重视,而不管你说你之前服务过什么NB公司,做过什么样NB的项目,上来就先拿一份基础的题目来考核你看一下你的水平.一开始我是排斥的,总感觉考这些东西没有什么用,反正有的东西工作中不一定就用得到,只要自己能够做出东西来就可以了.问题来了怎么样子才算“做出东西”呢?这个问题总感觉很难从理论上来回答,就拿我这几年工作的事情来说吧,在这…