- 博客(26)
- 收藏
- 关注
原创 链表和数组异同 9.5 25.14重新听
空间上:链表多一些,不仅记录元素的值,还要记录后继的地址( n*地址的长度)数组有多少元素,本身就是元素占据的空间时间上:按索引的(按索引访问):array快元素个数变化(增删) :link有优势按照内容:两个一样数组: 时间复杂度 插入(空间充足) O(1) 插入(空间不足) O(n)+O(1)=O(n) 扩容和拷贝 删除(根据内容) O(n-k)+O(n) 顺序查找 删除(根据索引) ...
2022-05-12 12:00:00
124
原创 链表节点的删除操作
#链表的普通删除第一种:头部删除 head移动到下一个元素第二种:尾部删除 倒数第二个节点指针指向null第三种:中间删除 a前一个的指针 指向a的后一个public class 普通删除 { int size; public Node remove(int index){ if(index<0||index>=size){throw new IndexOutOfBoundsException"超出范围";} Node removeNode=null; if(index
2022-05-11 19:34:43
5574
1
原创 1.2 单链表SingleLinkedList实现
import java.util.List;//链式存储,引用方式来实现树,用链条维系关系public class TreeNode<E> {//定义一个TreeNode,泛型最后要替换成具体的类型:字符串、巴拉巴拉 public E key;//自身节点中的数据 public TreeNode<E> parent;//他有一个引用parent,指向父节点 public List<TreeNode<E>> children;/...
2022-05-11 18:24:12
153
原创 1.1用数组实现列表-MyArrayList
线性表(列表)的接口定义import java.util.Iterator;public interface MyList<T> extends Iterator<T> { void add(T element);//新增一个元素 void delete(T element);//删除相同元素 void delete(int index);//根据索引删除元素 void update(int index, T newElement);//索引位置元素替换为新元
2022-05-09 21:26:51
463
原创 1.0 面向对象+数据结构
类和类之间关系:(1)泛化:老虎(特殊) 泛化后成为动物(一般)继承关系,表示一般与特殊的关系(2)关联(组合、聚集)数量对应关系聚集:老师(1个)和同学(n个)组合:小明(1个)和小明的名字(1个)聚集可拆【弱关联】,组合不可拆【强关联】关于继承:重写(Override)在子类中把父类本身有的方法重新写一遍(有权限的情况下)方法名,参数列表,返回类型 与 父必须相同重载(Overload)方法同名,但有不同参数列表(参数类型不同、参数个数不同or参数
2022-05-08 16:24:47
234
原创 (7)出现k次与出现1次
数组中只有一个数出现了1次,其他的数都出现了k次,请输出只出现了1次的数。不进位加法:3+3: (二进制) 0 1 1 + 0 1 0 0 0 0 2个二进制做 不进位加法,结果得 010个十进制做 不进位加法,结果得0则k个k进制数 不进位加法,结果为0任意进制互转1.手动取余法2.Integer.toString(i,radix);建立字符的二位数组,存每位数字的三进...
2022-05-06 20:00:45
124
原创 (6)乘二挪整:二进制表示浮点实数
乘2挪整public class a { public static void main(String[] args) { double num=0.625; StringBuilder sb=new StringBuilder("0."); while(num>0) { double r=num*2;//乘2:挪整 if(r>=1) {//判断整数部分 sb.append("1"); num=r-1;}//若大于1,则消除整数部分...
2022-05-06 18:28:11
87
原创 (5)将整数的奇偶位互换
与运算:与0是消除,与1是保留M 奇y 偶x 奇y 偶x 奇y 偶x 奇y 偶x a 0 1 0 1 0 1 0 1 b 1 0 1 0 1 0 1 0 c:M&a 0 x 0 x 0 x 0 x d:M&b y 0 y 0 y 0 y
2022-05-06 18:10:44
179
原创 (4)一条语句判断 一个整数是不是2的整数次方
转换为:一个二进制中多少个1if(((N-1)&N)==0){System.out.println("yes");}else System.out.println("no");非2的整数次方:21 1 0 1 0 1 21减1 1 0 1 0 0 &运算 0 0 0 0 0 2的整数次方:特征只有最高位为116 1 0 0 0 ...
2022-05-06 16:22:49
370
原创 (3)二进制中1的个数
法1:知识点:1<<i: 是将1左移i位,第i位为1,其余为为0N&(1<<i): N与左移后的i按位与 这样会有两个结果:1.如果N的第i位为0,则其为0(全0) 2.保留N的第i位,其余位置为0Scanner sc =new Scanner(System.in);int N=sc.nextInt();/*创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,输入的内容传给Scannernext() 只读取到空格之...
2022-05-06 15:51:24
288
原创 (2)落单的数(需要修改)
思路1:连续异或,消去相同的数字,剩下的数字就是落单的数字A^A=0B^0=B思路2:桶排序,arr[i]==1,中的 i 就是落单的数字以后补充代码
2022-05-06 14:18:18
875
原创 (1)找出重复的数
【构建数组】int N=11;// 以小数据量(11个数,1到10分布在11个空里面)验证int[] arr =new int[N];//求解之前构造数组arrfor(int i=0;i<arr.length-1;i++){arr[i]=i+1;}//每一个位置摆i+1,但是只摆前面十个 【最后一个数 arr.length-1】arr[arr.length-1]=new Random().nextInt(N-1)+1;//最后一...
2022-05-05 21:51:31
186
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人