随笔分类 - 数据结构和算法
摘要:哈希表介绍 A.题目: 有一个公司,当有新的员工来报道时,要求将该员工的信息加入(id,姓名,年龄,名字,住址),当输入该员工的id时,要求查找到该员工的所有信息。不使用数据库,速度越快越好。添加时,保证按照id从低到高插入 B.思路: C.代码 package com.offcn.hashTab;
阅读全文
摘要:1.常用的查找算法 1) 顺序(线性)查找 2) 二分查找/折半查找 3) 插值查找 4) 斐波那契查找 2.查找 1)线性查找 A.题目: 有一个数列[1,43,22,-10,0],判断数列中是否包含此名称,如果找到了,就提示找到,并给出下标值。 B,思路: 逐一查找 C.代码 package c
阅读全文
摘要:1.排序的分类 1) 内部排序:指将需要处理的所有数据都加载到内部存储器中进行排序 2) 外部排序:无法全部加载到内存中,需要借助外部存储进行 3)图示: 2.算法的时间复杂度 1) 度量一个程序(算法)执行时间的两种方法 A.事后统计的方法 问题:a.需要实际运行该程序。b.时间也依赖于计算机的硬
阅读全文
摘要:递归 1.递归的概念 递归就是自己调用自己,每次调用时传入不同的变量,递归有助于编程者解决复杂的问题,同时可以让代码变得简洁 2.递归需要遵守的重要规则 1)执行一个方法时,就创建一个新的受保护的独立空间(栈空间) 2)方法的局部变量是独立的,不会相互影响 3)如果方法中使用的是引用类型变量(比如数
阅读全文
摘要:栈 1.栈的介绍 *栈stack是一个先入后出的有序列表 *栈是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表,允许插入和删除的一端为变化的一端,成为栈顶。另一端为固定的一端,成为栈底。 *根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶。而删除元素刚好相反,最先
阅读全文
摘要:链表 链表是以节点的方式来存储 每个节点包含data域和next域,指向下一个节点 链表的各个节点不一定是连续存储 链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定 单向列表 最大特点是可以将物理地址上不连续的数据连接起来,通过指针来对物理地址进行操作,实现增删改查等功能。 单链表分为两
阅读全文
摘要:环绕队列 队列含义: 队列是一个有序列表,可以是 数组或是链表来实现遵循先入先出的原则,即先存入队列的数据要先取出,后存入的要后取出 数组模拟队列思路 队列本身是有序列表,使用数组的结构来存储队列的数据,maxSize是该队列的最大容量 因为队列的输出,输入是分别从前后端来处理,因此需要两个变量fr
阅读全文
摘要:1稀疏数组 使用:当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组 稀疏数组的处理方法: 1记录数组一共有几行几列,有多少个不同的值 2把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模 //拿五子棋为例,创建一个原始的二维数组11*11 //0
阅读全文

浙公网安备 33010602011771号