欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
  • 数据结构与算法学习笔记:单向链表

    写在前面:记录学习《恋上数据结构与算法》的过程。课程链接地址:https://ke.qq.com/course/385223目录链表(Linked List)链表的设计接口设计清空(clear)添加元素 - add(int index , E element)删除元素 remove(int index)获取元素下标索引重写toString算法可视化网站案例练习:删除节点案例练习:反转一个链表递归非递归​案例练习:判断一个链表是否有环虚拟头结点

    程序员文章站2022-11-15
  • 数据结构与算法学习笔记:栈

    数据结构与算法学习笔记:栈

    写在前面:记录学习《恋上数据结构与算法》的过程。课程链接地址:https://ke.qq.com/course/385223目录栈(Stack)栈的接口设计栈的应用:浏览器的前进与后退案例练习:有效的括号栈(Stack)栈的接口设计public class Stack {private List list = new ArrayList();public void clear() {list.c

    程序员文章站2022-10-18
    IT编程
  • 数据结构与算法学习笔记:动态数组

    数据结构与算法学习笔记:动态数组

    写在前面:记录学习《恋上数据结构与算法》的过程。课程链接地址:https://ke.qq.com/course/385223什么是数据结构:数据结构时计算机存储、组织数据的方式。线性表数组(Array)在很多编程语言中,数组都有个致命的缺点无法动态修改容量实际开发中,我们更希望数组的容量是可以动态改变的动态数组(Dynamic Array)接口设计动态数组的设计添加元素-add(E element)打印数组重写toStrin

    程序员文章站2022-07-10
    IT编程
  • 数据结构与算法学习笔记

    数据结构与算法学习笔记

    数据结构与算法学习笔记才开始学习数据结构,这也将会是我的第一篇博客文章介绍我将会在这篇博客中记录所有的数据结构与算法的所有学习内容稀疏数组学习稀疏数组就是使用n*3二维数组去更加简洁的保存数据// An highlighted blockpublic class SparseArray { public static void main() { int[][] mapArr = new int[11][11]; mapArr[0][1] = 1;

    程序员文章站2022-06-19
    IT编程
  • 个人学习笔记--数据结构与算法--二叉树(四)

    个人学习笔记--数据结构与算法--二叉树(四)

    以下是学习恋上数据结构与算法的学习笔记,本篇主要内容是二叉树基本概念◼树(Tree)的基本概念●节点、根节点、父节点、子节点、兄弟节点,一棵树可以没有任何节点,称为空树,一棵树可以只有1 个节点,也就是只有根节点●子树:左子树、右子树●节点的度(degree):子树的个数●树的度:所有节点度中的最大...

    程序员文章站2022-06-05
  • 个人学习笔记--数据结构与算法--二叉搜索树(五)

    个人学习笔记--数据结构与算法--二叉搜索树(五)

    以下是学习恋上数据结构与算法的学习笔记,本篇主要内容是二叉搜索树◼二叉搜索树(Binary Search Tree)二叉搜索树是二叉树的一种,是应用非常广泛的一种二叉树,英文简称为BST,又被称为:二叉查找树、二叉排序树。●任意一个节点的值都大于其左子树所有节点的值●任意一个节点的值都小于其右子树所...

    程序员文章站2022-06-05
  • 数据结构与算法之美 | 学习笔记08 —— 冒泡、插入和选择排序

    数据结构与算法之美 | 学习笔记08 —— 冒泡、插入和选择排序

    插入、冒泡和选择排序的时间复杂度都为O(n2)O(n^2)O(n2),代码简单,对小规模排序比较高效。一、分析排序算法1. 算法的执行效率最好、最坏和平均情况时间复杂度:对于有序度不同的数据,要清楚排序算法在不同数据下的性能表现。时间复杂度的系数、常数、低阶:对于规模小的数据,在对比同一阶时间复杂度...

    程序员文章站2022-06-04
  • 数据结构与算法学习笔记——插入排序、希尔排序

    数据结构与算法学习笔记——插入排序、希尔排序

    插入排序插入式排序属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的。实现思路插入排序(Insertion Sorting)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表...

    程序员文章站2022-06-04
  • #数据结构与算法学习笔记#PTA18:图(邻接表)+DFS(深度优先搜索)+BFS(广度优先搜索)(C/C++)

    #数据结构与算法学习笔记#PTA18:图(邻接表)+DFS(深度优先搜索)+BFS(广度优先搜索)(C/C++)

    2018.5.22 上周解决完了树的大BOSS,这周正式进入图了。图根据边的性质可以分为有权图和无权图,有向图和无向图。无论哪一种图,都可以用邻接矩阵与邻接表两种数据结构表示,对于稠密图来说,邻接矩阵更方便一些,对于稀疏图来说,邻接表效率更高。图有两种遍历方法,深度优先搜索(DFS,Depth Fi...

    程序员文章站2022-05-20
  • 数据结构与算法学习笔记:单向链表

    数据结构与算法学习笔记:单向链表

    写在前面:记录学习《恋上数据结构与算法》的过程。课程链接地址:https://ke.qq.com/course/385223目录链表(Linked List)链表的设计接口设计清空(clear)添加元素 - add(int index , E element)删除元素 remove(int index)获取元素下标索引重写toString算法可视化网站案例练习:删除节点案例练习:反转一个链表递归非递归​案例练习:判断一个链表是否有环虚拟头结点

    程序员文章站2022-05-14
    IT编程
  • 数据结构与算法学习笔记:动态数组

    数据结构与算法学习笔记:动态数组

    写在前面:记录学习《恋上数据结构与算法》的过程。课程链接地址:https://ke.qq.com/course/385223什么是数据结构:数据结构时计算机存储、组织数据的方式。线性表数组(Array)在很多编程语言中,数组都有个致命的缺点无法动态修改容量实际开发中,我们更希望数组的容量是可以动态改变的动态数组(Dynamic Array)接口设计动态数组的设计添加元素-add(E element)打印数组重写toStrin

    程序员文章站2022-04-15
    IT编程
  • 个人学习笔记--数据结构与算法-二叉堆与优先级队列(十一)

    个人学习笔记--数据结构与算法-二叉堆与优先级队列(十一)

    以下是学习恋上数据结构与算法的学习笔记,本篇主要内容是二叉堆与优先级队列◼设计一种数据结构,用来存放整数,要求提供3 个接口●添加元素●获取最大值●删除最大值◼有没有更优的数据结构?●堆✓获取最大值:O(1)、删除最大值:O(logn)、添加元素:O(logn)◼堆(Heap)也是一种树状的数据结构...

    程序员文章站2022-03-12
  • 数据结构与算法学习笔记

    数据结构与算法学习笔记

    数据结构与算法学习笔记才开始学习数据结构,这也将会是我的第一篇博客文章介绍我将会在这篇博客中记录所有的数据结构与算法的所有学习内容稀疏数组学习稀疏数组就是使用n*3二维数组去更加简洁的保存数据// An highlighted blockpublic class SparseArray { public static void main() { int[][] mapArr = new int[11][11]; mapArr[0][1] = 1;

    程序员文章站2022-03-06
    IT编程