数据结构
文章平均质量分 54
常用的数据结构
ssrswk9
赠人玫瑰,手有余香
展开
-
排序算法之归并排序
归并排序原创 2022-07-07 22:22:04 · 221 阅读 · 1 评论 -
链表的基础知识
单链表插入:cur.next、newNode.next都是引用,不改变值,只改变位置 public void insertHead(int data){ //插入链表的头部 data就是插入的数据 ListNode newNode = new ListNode(data); //如果原来就有数据呢? newNode.next = head; //栈内存的引用 head = newNode; //插入O(1) } public void i.原创 2022-05-09 00:36:57 · 301 阅读 · 0 评论 -
数组基础知识
1、数组的内存地址是连续的,从0起始,使用数组时要注意角标越界 2、数组的删除和新增都需要移动元素,所以速度很慢 数组的新增: public void insert(int loc,int n){ //时间复杂度 O(n); if(index ++ < size){ for(int i = size - 1; i > loc ; i --){ data[i] = data[i - 1]; //把数据往后移一个 } da原创 2022-05-05 23:58:28 · 219 阅读 · 0 评论 -
基础面试题
1、判断一个数是否是2的N次方。 用二进制与运算来判断,可以快速得出结论。if(n&(n-1) == 0) 2、String str1 = "abc"; String str2 = "abc"; System.out.println(str1==str2); //true String str1 = "abc"; String str2 = "abc"; str1 = "bcd"; System.out.println(str1 + "," + str2); //bcd,ab...原创 2022-05-05 23:16:41 · 356 阅读 · 0 评论 -
单链表的简单实现
链表是一种数据结构,不同与集合,链表添加、删除容易,查找慢。因为链表添加时增加和节点的连接就行,删除时断开和节点的连接也就可以了。 刚手写了一个单链表的简单实现代码,将自己的感悟写出来。 单链表的数据结构比较简单,包含有一个Node节点,节点代码如下。 class Node { T data; Node next; public Node(T data, Node ...原创 2020-04-20 00:07:33 · 160 阅读 · 0 评论 -
数据结构之查找排序数组中元素的第一个和最后一个位置
题目:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 思路:数组是一个顺序表,要查找元素在数组中出现的第一个和最后一个位置,可以采用两个for循环去查找,从头部和尾部找起,找到就break 代码: public int[] searchRange(int[] nums, ...原创 2020-04-07 23:15:58 · 601 阅读 · 0 评论 -
数据结构之删除数组中的重复项
题目如下: 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成 思路:数组属于顺序表,对数组中的元素做比较,可以从下标0和1开始,从前往后做比较 代码: classSolution{ publicintremoveDupli...原创 2020-04-07 21:24:20 · 374 阅读 · 0 评论