java数据结构与算法
java数据结构与算法相关笔记及代码
Paranoid_94
这个作者很懒,什么都没留下…
展开
-
Java排序算法(冒泡排序,选择排序,插入排序,希尔排序,快速排序,基数排序)
package com.example.dataStructureAndAlgorithm.sort;import java.util.Arrays;public class SortDemo { public static void main(String[] args) { // int[] arr = {3, 9, -1, 10, 20}; // int[] arr = {8, 9, 1, 7, 2, 3, 5, 4, 6, 0}; in原创 2021-01-21 10:01:07 · 192 阅读 · 1 评论 -
Java实现八皇后问题
1八皇后问题介绍八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848 年提出:在 8×8 格的国际象棋上摆放八个皇后,使其不能互相攻击,即:任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法(92种)。八皇后问题解法这里使用递归回溯法求八皇后解法问题。1)理论上应该创建一个二维数组来表示棋盘,但是实际上可以通过算法,用一个一维数组即可解决问题. arr[8] ={0 , 4, 7, 5, 2, 6, 1, 3} //一维数组的第n个元原创 2020-12-01 17:38:30 · 416 阅读 · 0 评论 -
栈实现综合计算器(中缀表达式)
1、栈是一个先入后出(FILO-First In Last Out)的有序列表。2、 栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。3、 根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除栈的应用场景子程序的调用:在跳往子程序前,会先将下个指令的地址存到堆栈中,直到子程序执行原创 2020-11-20 16:38:29 · 162 阅读 · 0 评论 -
Java实现约瑟夫问题(环形链表)
package com.example.dataStructureAndAlgorithm.LinkedList;public class Josepfu { public static void main(String[] args) { CircleSingleLinkedList circleSingleLinkedList=new CircleSingleLinkedList(); circleSingleLinkedList.addBoy(5);原创 2020-11-11 17:31:28 · 166 阅读 · 0 评论 -
双向链表应用实例(增删改查)
package com.example.dataStructureAndAlgorithm.LinkedList;public class DoubleLinkedListDemo { public static void main(String[] args) { NodeA node1 = new NodeA(1, "1"); NodeA node2 = new NodeA(2, "2"); NodeA node3 = new NodeA(3,原创 2020-11-11 15:57:03 · 119 阅读 · 0 评论 -
单链表面试题(新浪、百度、腾讯)合并两个有序的单链表,合并之后的链表依然有序
求单链表中有效节点的个数查找单链表中的倒数第 k 个结点 【新浪面试题】单链表的反转【腾讯面试题】从尾到头打印单链表 【百度】合并两个有序的单链表,合并之后的链表依然有序package com.example.dataStructureAndAlgorithm.LinkedList;import java.util.Stack;public class SingleLinkedListTest { public static void main(String[] args) {.原创 2020-11-09 15:58:37 · 179 阅读 · 0 评论 -
使用带 head 头的单向链表实现
package com.example.dataStructureAndAlgorithm.LinkedList;public class SingleLinkedListDemo { public static void main(String[] args) { Node node1=new Node(1,"1"); Node node2=new Node(2,"2"); Node node3=new Node(3,"3");原创 2020-11-09 15:48:05 · 368 阅读 · 1 评论