![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习与深度学习
文章平均质量分 84
黄土高坡上的独孤前辈
010101010101010101010101010101
展开
-
算法学习路径图
算法学习路径Java算法与数据结构原创 2024-03-02 15:15:58 · 180 阅读 · 0 评论 -
第 14 章 程序员常用算法
前面我们讲过了二分查找算法,是使用递归的方式,下面我们讲解二分查找算法的非递归方式二分查找法只适用于从有序的数列中进行查找(比如数字和字母等),将数列排序后再进行查找二分查找法的运行时间为对数时间 O(㏒₂n) ,即查找到需要的目标位置最多只需要㏒₂n 步,假设从[0,99]的队列(100 个数,即 n=100)中寻到目标数 30,则需要查找步数为㏒₂100 , 即最多需要查找 7 次( 2^6 < 100 < 2^7)分治法是一种很重要的算法。原创 2024-01-14 22:52:21 · 876 阅读 · 0 评论 -
第 13 章图
前面我们学了线性表和树线性表局限于一个直接前驱和一个直接后继的关系树也只能有一个直接前驱也就是父节点当我们需要表示多对多的关系时, 这里我们就用到了图。所谓图的遍历,即是对结点的访问。一个图有那么多个结点,如何遍历这些结点,需要特定策略,一般有两种访问策略: (1)深度优先遍历 (2)广度优先遍历。原创 2024-01-14 21:17:44 · 933 阅读 · 0 评论 -
第 12 章 多路查找树
B 树通过重新组织节点,降低树的高度,并且减少 i/o 读写次数来提升效率。如图 B 树通过重新组织节点, 降低了树的高度.文件系统及数据库系统的设计者利用了磁盘预读原理,将一个节点的大小设为等于一个页(页得大小通常为 4k),这样每个节点只需要一次 I/O 就可以完全载入将树的度M 设置为 1024,在 600 亿个元素中最多只需要 4 次 I/O 操作就可以读取到想要的元素, B 树(B+)广泛应用于文件存储系统以及数据库系统中B-tree 树即 B 树,B 即 Balanced,平衡的意思。原创 2024-01-14 21:03:27 · 839 阅读 · 0 评论 -
第 11 章 树结构实际应用
堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为 O(nlogn),它也是不稳定排序。堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆, 注意 : 没有要求结点的左孩子的值和右孩子的值的大小关系。每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆大顶堆举例说明小顶堆举例说明一般升序采用大顶堆,降序采用小顶堆。原创 2024-01-14 20:57:58 · 1002 阅读 · 0 评论 -
第 10 章 树结构的基础部分
n 个结点的二叉链表中含有n+1 【公式 2n-(n-1)=n+1】 个空指针域。利用二叉链表中的空指针域,存放指向该结点在某种遍历次序下的前驱和后继结点的指针(这种附加的指针称为"线索")这种加上了线索的二叉链表称为线索链表,相应的二叉树称为线索二叉树(Threaded BinaryTree)。根据线索性质的不同,线索二叉树可分为前序线索二叉树、中序线索二叉树和后序线索二叉树三种一个结点的前一个结点,称为前驱结点一个结点的后一个结点,称为后继结点。原创 2024-01-14 20:18:10 · 803 阅读 · 0 评论 -
第 9 章 哈希表
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。原创 2024-01-14 19:51:20 · 354 阅读 · 0 评论 -
第 8 章 查找算法
顺序(线性)查找二分查找/折半查找插值查找斐波那契查找黄金分割点是指把一条线段分割为两部分,使其中一部分与全长之比等于另一部分与这部分之比。取其前三位数字的近似值是 0.618。由于按此比例设计的造型十分美丽,因此称为黄金分割,也称为中外比。这是一个神奇的数字,会带来意向不大的效果。斐波那契数列 {1, 1, 2, 3, 5, 8, 13, 21, 34, 55 } 发现斐波那契数列的两个相邻数 的比例,无限接近 黄金分割值0.618。原创 2024-01-14 19:43:46 · 834 阅读 · 0 评论 -
第 7 章 排序算法
类似于时间复杂度的讨论,一个算法的空间复杂度(Space Complexity)定义为该算法所耗费的存储空间,它也是问题规模 n 的函数。空间复杂度(Space Complexity)是对一个算法在运行过程中临时占用存储空间大小的量度。有的算法需要占用的临时工作单元数与解决问题的规模 n 有关,它随着 n 的增大而增大,当 n 较大时,将占用较多的存储单元,例如快速排序和归并排序算法, 基数排序就属于这种情况在做算法分析时,主要讨论的是时间复杂度。从用户使用体验上看,更看重的程序执行的速度。原创 2024-01-14 18:08:39 · 869 阅读 · 0 评论 -
第 6 章 递归
八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于 1848 年提出:在 8×8 格的国际象棋上摆放八个皇后,使其不能互相攻击,即:任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法(92)。原创 2024-01-14 17:47:42 · 767 阅读 · 0 评论 -
第 5 章 栈
栈的英文为(stack)栈是一个先入后出(FILO-First In Last Out)的有序列表。栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除图解方式说明出栈(pop)和入栈(push)的概念。原创 2024-01-14 17:37:46 · 830 阅读 · 0 评论 -
第 4 章 链表
约瑟夫问题的示意图 Josephu 问题Josephu 问题为:设编号为 1,2,… n 的 n 个人围坐一圈,约定编号为 k(1原创 2024-01-14 17:07:33 · 959 阅读 · 0 评论 -
第 3 章 稀疏数组和队列
当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。记录数组一共有几行几列,有多少个不同的值把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模 稀疏数组举例说明队列是一个有序列表,可以用数组或是链表来实现。遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出示意图:(使用数组模拟队列示意图)3.2.3 数组模拟队列思路。原创 2024-01-14 16:43:42 · 829 阅读 · 0 评论 -
第 2 章 数据结构和算法概述
数据 data 结构(structure)是一门研究组织数据方式的学科,有了编程语言也就有了数据结构.学好数据结构可以编写出更加漂亮,更加有效率的代码。要学习好数据结构就要多多考虑如何将生活中遇到的问题,用程序去实现解决.程序 = 数据结构 + 算法数据结构是算法的基础, 换言之,想要学好算法,需要把数据结构学到位。原创 2024-01-14 16:12:34 · 478 阅读 · 0 评论 -
Java数据结构与算法
0.数据机构和算法架构图1.第一章 数据结构与算法介绍2.第二章 数据结构与算法概述3.第三章 稀疏数组和队列4.第四章 链表5.第五章 栈6.第六章 递归7.第七章 排序算法8.第八章 查找算法9.第九章 哈希表10.第十章 树结构基础部分11.第十一章 树结构实际应用12.第十二章 多路查找树13.第十三章 图14.第十四章 程序员常用的算法原创 2024-01-14 16:01:12 · 481 阅读 · 0 评论 -
第1章 数据结构与算法介绍
尚硅谷 韩顺平 数据结构和算法2019 内容介绍.zip。原创 2024-01-14 16:04:25 · 417 阅读 · 0 评论 -
GBDT简介
文章目录1.简介2.算法原理2.1 前向分步算法(考虑加法模型)2.2 负梯度拟合2.2.1 提升树算法2.2.2 梯度提升法2.3 损失函数2.4 GBDT分类算法2.4.1 二分类GBDT算法2.4.2 多分类GBDT算法2.4.3 对GBDT进行正则化来防止过拟合3.优缺点4.应用场景5.模型及参数1.简介 GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一种采用加法模型(即基原创 2021-11-07 19:24:34 · 1529 阅读 · 0 评论