数据结构与算法
文章平均质量分 74
zhao_to
这个作者很懒,什么都没留下…
展开
-
对树结构的学习
树的常用术语节点,树中的一个连接点父节点,若一个节点含有子节点,则这个节点成为其子节点的父节点子节点,一个节点含有的子树的根节点成为该节点的子节点节点的权,节点的具体值*节点的度,子节点的个数路径,从根节点到某一个具体节点所走过的层,根结点在1层,其它任一结点的层数是其父结点的层数加子树,只要包含了一个结点,就得包含这个结点下的所有节点高度,从根节点向下到某个叶节点最长简单路径中边的条数树的高度,树内所有节点高度的最大值,也就是根节点的高度,也就是树的层数二叉树二叉树的概念1)树原创 2021-08-05 11:38:18 · 206 阅读 · 0 评论 -
8大排序(内涵代码,图解,思路)
排序一、简单排序1.1Comparable接口需求: 1.定义一个学生类Student ,具有年龄age和姓名username两个属性,并通过Comparable接口提供比较规则; 2.定义测试类Test ,在测试类Test中定义测试方法Comparable getMax(Comparable C1,Comparable C2)完成测试package com.zhao.sort;//比较两个学生的年龄public class TestComparable { public sta原创 2021-06-16 20:06:31 · 174 阅读 · 0 评论 -
回溯算法(解决迷宫回溯与八皇后)
回溯算法迷宫回溯代码实现package recursion;public class MiGong { public static void main(String[] args) { //创建地图 int[][] map = new int[8][7]; //1表示墙 //上下全为一 for (int i=0;i<7;i++){ map[0][i]=1;原创 2021-05-26 18:39:41 · 91 阅读 · 0 评论 -
对栈的学习(前缀、中缀、后缀表达式)超详细!由计算器的实现哦
栈栈的概念1)栈的英文为(stack)2)栈是一个先入后出(FILO-First In Last Out)的有序列表。3)栈(stack)是限制线 性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另中一端为固定的一 端,称为栈底(Bottom)。4)根据栈的走义可知,最先放入栈中元素在栈底,最后放入的元素在栈项,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除栈的应用场景1)子程序的调用:在跳往子程序前,原创 2021-05-21 19:11:10 · 514 阅读 · 0 评论 -
数组,队列与链表(详细,单链表的面试题)
稀疏数组基本介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:1)记录数组一共有几行几列,有多少个不同的值2)把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模案例:1)使用稀疏数组,来保留类似前面的二维数组(棋盘、地图等等)2)把稀疏数组存盘,并且可以从新恢复原来的二维数组数3)整体思路分析4)代码实现package com.zhao.sparsearray;public class SparseA原创 2021-05-20 20:34:25 · 290 阅读 · 0 评论 -
约瑟夫环问题
单向环形链表 Josephu(约瑟夫、ysf) 问题 问题为:设编号为1, 2, … n的n个人围坐一圈,约定编号为k (1<=k<=n)的人从1开始报数,数到m的那个人出列, 它的下一位又从1开始报数,数到m的那个人又出列, 依次类推, 直到所有人出列为止, 由此产生一个出队编号的序列。 提示: 用一个不带头结 点的循环链表来处理Josephu问题: 先构成一个有n个结点的单循环链表,然后由k结点起从1开始计数,计到m时,对应结点从链表中删除,然后再从被删除结点的下一个原创 2021-05-20 20:28:07 · 176 阅读 · 0 评论