摘要: 1.顺序查找(线性查找) 顺序查找(Sequential Search)又叫线性查找,是最基本的查找技术。它的查找过程为:从表中第一个(或最后一个)记录开始,逐个进行记录的关键字和给定值比较,如果某个记录的关键字和给定值相等,则查找成功,找到所查的记录。如果直到最后一个(或第一个)记录,其关键字和给 阅读全文
posted @ 2020-01-28 21:30 你我皆牛马 阅读(518) 评论(0) 推荐(0) 编辑
摘要: 排序算法说明 0.1 排序的定义 对一序列对象根据某个关键字进行排序。 0.2 术语说明 稳定 :如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 不稳定 :如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; 内排序 :所有排序操作都在内存中完成; 外排序 :由于数据太大,因此 阅读全文
posted @ 2020-01-22 11:31 你我皆牛马 阅读(735) 评论(0) 推荐(0) 编辑
摘要: 常见的时间复杂度: 常见的时间复杂度大小比较: 常见的排序算法的时间复杂付比较: 阅读全文
posted @ 2020-01-21 22:53 你我皆牛马 阅读(648) 评论(0) 推荐(0) 编辑
摘要: 1.递归调用规则: 1).当程序执行到一个方法时,就会开辟一个独立的空间(栈) 2).每个空间的数据(局部变量)时独立的。 2.递归需要遵守的重要规则 1)执行一个方法时,就创建一个新的受保护的独立空间(栈空间) 2)方法的局部变量是独立的,不会相互影响,比如n变量 3)如果方法中使用的是引用类型变 阅读全文
posted @ 2020-01-20 22:57 你我皆牛马 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 后缀表达式适合于计算式运算,但是人却不太容易写出来,尤其是表达式很长的情况下,因此在开发中,我们需要将中缀表达式转成后缀表达式。 具体步骤如下: 1)初始化两个栈:运算符栈s1和储存中间结果得栈s2; 2)从左到右扫描中缀表达式; 3)运到操作符时,将其压入s2; 4)遇到运算符时,比较其s1栈顶运 阅读全文
posted @ 2020-01-20 15:27 你我皆牛马 阅读(476) 评论(0) 推荐(0) 编辑
摘要: 思路: 代码:实现多位数的运算 public class Calculator { public static void main(String[] args) { //根据前面老师思路,完成表达式的运算 String expression = "7*2*2-5+1-5+3-4"; // 15//如 阅读全文
posted @ 2020-01-20 12:05 你我皆牛马 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 栈(stack):是限制表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。出栈(pop)入栈(push) 栈的应用场景: 1.子程序的调用:在跳往子程序前,会先将下个指令的地址存在堆栈中 阅读全文
posted @ 2020-01-19 23:21 你我皆牛马 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 思路: 代码: public class Josepfu { public static void main(String[] args) { // 测试一把看看构建环形链表,和遍历是否ok CircleSingleLinkedList circleSingleLinkedList = new Ci 阅读全文
posted @ 2020-01-19 15:11 你我皆牛马 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 思路: 代码如下: public class DoubleLinkedListDemo { public static void main(String[] args) { // 测试 System.out.println("双向链表的测试"); // 先创建节点 HeroNode2 hero1 = 阅读全文
posted @ 2020-01-18 21:57 你我皆牛马 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 思路: 1.创建 2.按循序添加 3.删除节点 面试题: 1.求单链表中有效节点的个数 2.查找单链表中的倒数第k个节点【新浪面试题】 3.单链表的反转【腾讯面试题】 4.从尾到头打印单链表【百度,要求方式1:反向遍历;方式2:stack栈】 5.合并两个有序的单链表,合并之后的链表依然有序 代码实 阅读全文
posted @ 2020-01-18 17:04 你我皆牛马 阅读(116) 评论(0) 推荐(0) 编辑