链表

链表是一种物理存储单元上非连续、非顺序的存储结构数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn)和O(1)。

快速排序

快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。

快速排序又是一种分而治之思想在排序算法上的典型应用。本质上来看,快速排序应该算是在冒泡排序基础上的递归分治法。

平均复杂度 : nlog2n 最坏时间复杂度 : n^2 最好时间复杂度 : nlog2n 空间复杂度: log2n 稳定性: 不稳

代码:

冒泡排序及其优化

冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢”浮”到数列的顶端。

平均时间复杂度 n^2 最坏的时间复杂度 n^2 最好时间复杂度n 空间复杂度1 稳定性 稳

代码:

稀疏数组:

当一个数组在中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。

稀疏数组的处理方法;

  1. 记录数组一共有几行几列,有多少个不同的值。

  2. 把具有不同值的元素的行列有值记录在一个小规模的数组中,从而缩小程序的规模。

1.API

1.1 API概述-帮助文档的使用

  • 什么是API

    ​ API (Application Programming Interface) :应用程序编程接口

  • java中的API

    ​ 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。

10次方项目第二天

第2章 - MongoDB和评论管理

了解什么是MongoDB
掌握MongoDB的安装
掌握MongoDB的常用命令
掌握mongodb-driver的基本使用
掌握SpringDataMongoDB的使用
能够实现文章评论功能开发

title: 黑马十次方项目第一天笔记
date: 2020-09-28 17:23:25
tags:

第1章 - 项目介绍和工程搭建 (第一天)

学习目标:

了解十次方项目需求;

了解前后端分离开发模式
理解RESTful
完成项目开发环境搭建
完成父工程、公共模块和文章微服务的搭建
掌握mybatis plus的使用,并开发完成文章微服务中文章的增删改查功能 掌握公共异常处理类的使用

1 十次方项目需求分析

1.1 项目介绍
十次方是程序员的专属社交平台,包括头条、问答、活动、交友、吐槽、招聘六 大频道。
十次方名称的由来:2的10次方为1024,程序员都懂的。如果你是一位技术大咖,那么赶快发布文章,增加知名度吧。
如果你是一名技术小白,那么赶快到问答频道寻求帮助的,这里高手如云哦!

,