5 heda3

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 2w+

线性回归--乐高玩具价格预测

数据描述:页面的解析建立模型预测

2020-02-09 00:22:24

查找-之散列表/哈希表

问题:前面的查找不可避免的要进行比较,是否能直接通过关键字key得到要查找的元素位置?解决方法:散列技术通过记录的存储位置和关键字建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key)f为散列函数/哈希函数散列表/哈希表(Hash table)--采用散列技术实现数据存储的一块连续的存储空间散列过程:1)存储时,散列函数计算数据的散列地址,并...

2020-02-04 23:34:10

查找-之多路查找树

二叉排序树或平衡二叉树(AVL树、红黑树)查找-之二叉排序树(查找、插入、删除)查找-之平衡二叉树AVL和红黑树结点只有两个孩子,且结点只能存储一个元素问题:一个结点只存储1个元素,在元素很多时,使得树的深度或高度很大 出现的问题是:内存存取外存的次数非常多-使得时间效率降低解决方法:2-3树结构:1970年 约翰·霍普克洛夫发明的多路查找...

2020-02-04 20:33:30

查找-之平衡二叉树AVL和红黑树

在上一篇文章查找-之二叉排序树(查找、插入、删除)引出的问题是:二叉排序树的存在的不足是插入新结点导致树不平衡,不平衡树使得查找性能下降解决方法构建平衡的二叉树AVL树、红黑树AVL树:带有严格平衡条件的二叉查找树,用平衡因子差值判断树是否平衡并通过旋转实现平衡,左右子树的高度不超过1适用于:插入和删除次数较少(插入删除操作使得树失去平衡,为维持严格平衡旋转操作,使得性...

2020-02-04 18:11:39

查找-之二叉排序树(查找、插入、删除)

问题:有序的线性表采用:折半/二分、插值、斐波那契查找相比顺序查找效率得到提高,但是在插入和删除时效率低(为维持数据的有序性)在高效实现查找操作时,如何提高插入和删除的效率?在一些应用场景:在查找时需要插入和删除解决方法:二叉排序树二叉排序树特点1)若左子树不为空,左子树上所有结点的值均小于或等于它的根节点的值2)若右子树不为空,右子树上所有结点的值均大于...

2020-02-04 17:22:39

查找-之线性索引查找

针对场景:博客网站论坛的帖子回复、服务器日志记录数据量大,每条记录无法做到有序排列记录解决方法:索引---把关键字和它对应的记录相关联的过程索引分类:线性索引、树形索引、多级索引线性索引:将索引项集合组织为线性结构---索引表线性索引包括:稠密索引、分块索引、倒排索引稠密索引结构:索引项---对应---记录索引项是有序的、记录数据表可以是无序的...

2020-02-04 16:50:10

查找-之有序表查找

待查找的表是有序排列的解决的方法1:折半查找/二分法查找其中线性表采用的是顺序存储//Cint Binary_Search(int *a,int n,int key){ int low,high,mid; //边界的界定 low=1; high=n; while(low<=high) { mid=(low+high)/2 if(key<a[m...

2020-02-01 13:38:44

查找-之顺序表查找-(数据的排列无序)

查找--摘要静态查找表:只做查找操作的查找表动态查找表:在查找过程中还做插入和删除数据元素的操作查找时可改变数据元素之间的关系以获得较高的查找性能,将查找集合组织成表、树结构。也即是从数据的存储方式作出改进。还有从算法层面做出改进:二分、插值、斐波那契查找等顺序查找:线性查找,从表的第一个逐个开始和待查找元素比较,直到最后一个(暴力破解)//C//a为待查数...

2020-02-01 11:55:02

回归分析及实际案例:预测鲍鱼年龄

上一篇文章:线性回归(Linear regression)算法引入:1、线性回归:算法的优点:结果易于理解,计算不复杂缺点:对非线性数据拟合不好目标:平方误差和最小求解(对参数w求导等于0)的回归系数:模型预测:"""函数说明:标准回归Parameters: xArr - 特征矩阵 yArr -响应值Retu...

2020-01-28 22:42:58

LeetCode 367. 有效的完全平方数 --数组--二分查找--简单

类似博文(99%)LeetCode 69. Sqrt(x)--(数组)--二分法查找 --简单题目描述:给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。说明:不要使用任何内置的库函数,如sqrt。示例 1:输入:16输出:True示例 2:输入:14输出:False参考链接:https://l...

2020-01-22 22:05:45

LeetCode 441. 排列硬币 --数组--二分法 --简单

题目描述:你总共有n枚硬币,你需要将它们摆成一个阶梯形状,第k行就必须正好有k枚硬币。给定一个数字n,找出可形成完整阶梯行的总行数。n是一个非负整数,并且在32位有符号整型的范围内。示例 1:n = 5硬币可排列成以下几行:¤¤ ¤¤ ¤因为第三行不完整,所以返回2.示例 2:n = 8硬币可排列成以下几行:¤¤ ¤¤ ¤ ¤¤...

2020-01-22 21:53:17

LeetCode374. 猜数字大小 --数组--二分法--简单

题目描述:我们正在玩一个猜数字游戏。 游戏规则如下:我从1到n选择一个数字。 你需要猜我选择了哪个数字。每次你猜错了,我会告诉你这个数字是大了还是小了。你调用一个预先定义好的接口guess(int num),它会返回 3 个可能的结果(-1,1或 0):-1 : 我的数字比较小1 : 我的数字比较大0 : 恭喜!你猜对了!示例 :输入: n = 10...

2020-01-22 21:36:05

LeetCode136. 只出现一次的数字--数组--简单

题目描述:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: 4参考:https://leetcode-cn.com/problems/single-numbe...

2020-01-22 21:20:35

LeetCode 350--两个数组的交集 II --数组--简单

https://leetcode-cn.com/problems/intersection-of-two-arrays-ii/submissions/解题思路:1、哈希表1)一个数组 创建为哈希表, 记录键:元素 值:元素出现的次数2)另一个数组利用O(1)时间查找,若出现则次数减去13)输出新结果放入数组内//C++class Solution {publ...

2020-01-21 22:17:14

LeetCode 349- 两个数组的交集--简单

题目描述:给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [9,4]说明:输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。...

2020-01-18 21:49:45

LeetCode 26 -删除排序数组中的重复项 --数组-双指针--简单

类似题目:LeetCode27 移除元素 --数组--双指针--简单(移除指定目标元素)而本题是数组中相同的元素解题思路:需要原地删除,不需要大于O(1)的空间,那么如何不全部向前移动,而是前后的两个元素比较并覆盖?双指针解法:一个慢指针和一个快指针,i为慢指针,j为快指针,当nums[i]==nums[j],增加j跳过重复项当nums[i]!=nums[j]时...

2020-01-12 22:11:05

LeetCode27 移除元素 --数组--双指针--简单

题目描述:解题思路1)双指针1)慢指针和快指针同时指向同一位置2)快指针和var比较若不相等则慢指针增加,在不相等的情况下快指针指向的值拷贝给慢指针指向的值3)相等则慢指针不增加,快指针增加//javaclass Solution { public int removeElement(int[] nums, int val) { i...

2020-01-12 21:43:01

LeetCode50 Pow(x, n)--数组--二分法查找--中等

相关博文:LeetCode35. 搜索插入位置 --(数组)--二分法查找-- 简单LeetCode 69. Sqrt(x)--(数组)--二分法查找 --简单题目描述:实现pow(x, n),即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10输出: 1024.00000示例2:输入: 2.10000, 3输...

2020-01-12 17:18:58

LeetCode35. 搜索插入位置 --(数组)--二分法查找-- 简单

解题思路经典的二分法查找,通过题目解析可知查找的元素位置为:查找中间值大于等于目标值的第一个元素索引参考[1]//javaclass Solution { public int searchInsert(int[] nums, int target) { int len = nums.length; if (nums[le...

2020-01-12 16:31:13

LeetCode167. 两数之和 II - 输入有序数组--双指针-- 简单

题目描述:给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1必须小于index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 1...

2020-01-12 16:08:07

查看更多

勋章 我的勋章
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。