interesting_code
码龄5年
关注
提问 私信
  • 博客:101,273
    101,273
    总访问量
  • 37
    原创
  • 1,359,487
    排名
  • 38
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
  • 加入CSDN时间: 2019-05-27
博客简介:

interesting_code的博客

查看详细资料
个人成就
  • 获得257次点赞
  • 内容获得41次评论
  • 获得949次收藏
  • 代码片获得423次分享
创作历程
  • 1篇
    2021年
  • 30篇
    2020年
  • 6篇
    2019年
成就勋章
TA的专栏
  • C语言
  • java数据结构
    9篇
  • 算法
    5篇
  • 排序算法
    7篇
  • 查找算法
    3篇
  • java多线程
    1篇
  • JavaScript正则表达式
    1篇
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

182人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

C语言字符与字符串

字符首先我们知道字符类型的数据是用char来定义的,一个字符占一个字节,且字符类型其实是一种特殊的整型或者说整型是一种特殊的字符类型#include <stdio.h>int main(){ char a=172; int b='f'; printf("%c,%d",a,b);}若上述代码所示,无论你是用int去定义一个变量,变量里放着一个字符还是用char去定义一个变量,变量里放着一个整数,编译都不会报错,区别只在于最后的输出,%c输出字符类型,但底层是编译器去找ASCLL
原创
发布博客 2021.01.03 ·
616 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

加油!奋斗

这篇博客就是提醒自己,加油努力,在剩下的这9个多月的时间,坚持下去,考研加油!
原创
发布博客 2020.03.04 ·
319 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

克鲁斯卡尔算法生成最小生成树

克鲁斯卡尔算法的介绍1)克鲁斯卡尔(Kruskal)算法,是用来求加权连通图的最小生成树的算法。2)基本思想:按照权值从小到大的顺序选择 n-1条边,并保证这 n-1条边不构成回路3)具体做法:首先构造一个只含 n个顶点的森林,然后依权值从小到大从连通网中选择边加入到森林中,并使森林中不产生回路,直至森林变成一棵树为止首先我们得明白,在解决求最小生成树的算法里,主要就是克鲁斯...
原创
发布博客 2020.02.22 ·
12758 阅读 ·
21 点赞 ·
2 评论 ·
104 收藏

普利姆算法生成最小生成树

普里姆算法介绍普利姆(Prim)算法求最小生成树,也就是在包含 n个顶点的连通图中,找出只有(n-1)条边包含所有 n个顶点的连通子图,也就是所谓的极小连通子图什么是最小生成树最小生成树(Minimum Cost Spanning Tree),简称 MST。给定一个带权的无向连通图,如何选取一棵生成树,使树上所有边上权的总和为最小,这叫最小生成树,如图简而言之,最小生成树就是将图中所...
原创
发布博客 2020.02.22 ·
8372 阅读 ·
9 点赞 ·
2 评论 ·
37 收藏

贪心算法举例详解

什么是贪心算法其实我个人觉得贪心算法还是很好理解的,起码比KMP好理解多了。。。。1)贪婪算法(贪心算法)是指在对问题进行求解时,在每一步选择中都采取最好或者最优 (即最有利)的选择,从而希望能够导致结果是最好或者最优的算法2)贪婪算法所得到的结果不一定是最优的结果(有时候会是最优解),但是都是相对近似(接近)最优解的结果贪心算法的应用-集合覆盖可能介绍了贪心算法的定义,大家不是...
原创
发布博客 2020.02.21 ·
1468 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

动态规划算法解决背包问题

什么是动态规划算法1)动态规划(Dynamic Programming)算法的核心思想是:将大问题划分为小问题进行解决,从而一步步获取最优解的处理算法2)动态规划算法与分治算法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。3)与分治法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。 (即下一个子阶段的求解...
原创
发布博客 2020.02.21 ·
4590 阅读 ·
2 点赞 ·
0 评论 ·
24 收藏

分治算法思想及经典案例

分治算法介绍1)分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)……2)分治算法可以求解的一些经典问题二分搜索大整数乘法棋盘覆盖合并...
原创
发布博客 2020.02.20 ·
2991 阅读 ·
2 点赞 ·
2 评论 ·
9 收藏

图的小结及深度优先和广度优先遍历

什么是图前面我们学了线性表和树,线性表局限于一个直接前驱和一个直接后继的关系树也只能有一个直接前驱也就是父节点,当我们需要表示多对多的关系时,这里我们就用到了图。图是一种数据结构,其中结点可以具有零个或多个相邻元素。两个结点之间的连接称为边。结点也可以称为顶点。如图图的常用概念1)顶点(vertex):顶点就是图的每一个点2)边(edge):两个顶点若能相连,连的线就是一个边3)路...
原创
发布博客 2020.02.20 ·
1765 阅读 ·
2 点赞 ·
1 评论 ·
3 收藏

平衡二叉树(AVL)的左旋转右旋转和双旋转

平衡二叉树的介绍首先,咱们先来说一下为什么要提出平衡二叉树的概念,如果一个二叉排序树是一个只有左子树或者右子树的二叉排序树的时候,其实它就相当于一个链表,但是他的查询,删除,遍历的速度却没有链表快。这是为什么呢。因为在每次查询,删除,遍历的时候,要去判断他的左节点或者右节点是否为null,所以浪费了时间。所以我们提出平衡二叉树的概念基本介绍1)平衡二叉树也叫平衡二叉搜索树(Self-bala...
原创
发布博客 2020.02.19 ·
2126 阅读 ·
2 点赞 ·
3 评论 ·
4 收藏

二叉排序树(节点的添加-遍历-删除)

二叉排序树的简介二叉排序树:BST: (Binary Sort(Search) Tree),对于二叉排序树的任何一个非叶子节点,要求左子节点的值比当前节点的值小,右子节点的值比当前节点的值大。特别说明:如果有相同的值,可以将该节点放在左子节点或右子节点比如针对据 (7, 3, 10, 12, 5, 1, 9),对应的二叉排序树为:二叉排序树创建和遍历一个数组创建成对应的二叉排序树,并...
原创
发布博客 2020.02.19 ·
336 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

赫夫曼树小结

赫夫曼树的介绍给定n个权值作为 n个叶子结点,构造一棵二叉树,若该树的带权路径长度(wpl)达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree),还有的书翻译为霍夫曼树。赫夫曼树是带权路径长度最短的树,权值较大的结点离根较近赫夫曼树几个重要概念1)路径和路径长度:在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长...
原创
发布博客 2020.02.17 ·
198 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

排序算法小结6——堆排序(详细图解)

什么是堆堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆, 注意 :没有要求结点的左孩子的值和右孩子的值的大小关系。每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆大顶堆图示小顶堆图示:堆排序的基本介绍堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为 O(nlogn),它也是不稳定排序。...
原创
发布博客 2020.02.17 ·
789 阅读 ·
2 点赞 ·
1 评论 ·
2 收藏

二叉树小结

什么是树在了解二叉树之前我们先来认识一下什么是树。树是一种数据结构,它是由n(n>=1)个有限结点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点;除了根结点外,每个子结点可以分为多个不相交的子树;它是一种插入数据效率比链表高,...
原创
发布博客 2020.02.15 ·
215 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

斐波那契查找(黄金分割法)超详细详解

斐波那契查找思路说句实在话,这个斐波那契查找我看了不下5遍才理解他的思路和代码,因为它里面的值太多,不好理解容易绕晕,所以我给大家用自己的理解讲一下什么是斐波那契要想学会斐波那契查找,首先你得知道什么是斐波那契数列斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、····,在数学上,斐波那契被递归方法如下定义:F(1)=1,F(2)=1,F(n)=f(...
原创
发布博客 2020.02.15 ·
12625 阅读 ·
52 点赞 ·
14 评论 ·
77 收藏

插值查找算法详解

插值查找思路其实说实话,插值查找和二分查找区别并不大,唯一的区别就在于插值查找的中间值不再是(left+right)/2,因为这样定义的中间值可以说与我们的目标值真的毫无关系,查找起来效率太低,而插值查找却是将中间值。。。咳咳,这时候不应该叫中间值,叫划分序列的值,插值查找却是将划分序列的值经过一个数学公式和目标值自适应起来,虽然我并不理解这个公式的原理,,,,下面直接上图将它改完后,剩余...
原创
发布博客 2020.02.15 ·
906 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

二分查找算法详解及优化

二分查找算法的思路在进行二分查找之前我们首先要明确一点,那就是要想使用二分查找,给的必须是一个有序序列,否则此方法无效二分查找的思路其实很简单,就是将给定的序列从中间数分成两份,左边这一份都比中间数小,右边这一份都比中间数大,然后我们将要找的值和这个中间值比较大小,如果目标值比中间值大,说明目标值在右边这一份里,这时我们只需将右边这一份当作一个新的有序数组,再从其中间值分成两份,然后继续比较(...
原创
发布博客 2020.02.15 ·
1019 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

常用排序算法的时间复杂度和稳定性

如题,见图名词解释:1)稳定:如果 a原本在 b前面,而 a=b,排序之后 a仍然在 b的前面;2)不稳定:如果 a原本在 b的前面,而 a=b,排序之后 a可能会出现在 b的后面;3)内排序:所有排序操作都在内存中完成;4)外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行;5)时间复杂度:一个算法执行所耗费的时间。6)空间复杂...
原创
发布博客 2020.02.14 ·
1159 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

排序算法小结5——基数排序(桶排序)

1.基数排序(桶排序)介绍:1)基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或 bin sort,顾名思义,它是通过键值的各个位的值,将要排序的元素分配至某些“桶”中,达到排序的作用2)基数排序法是属于稳定性的排序,基数排序法的是效率高的稳定性排序法3)基数排序(Radix Sort)是桶排序的...
原创
发布博客 2020.02.14 ·
324 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

排序算法小结4——归并排序

归并排序介绍归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。归并排序算法的思路及过程过程:将原数组从中间分开,以中间的数为区分,分为左边的数组和右边的数组,然后通过递归将左...
原创
发布博客 2020.02.13 ·
198 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

排序算法小结3——快速排序

快速排序的介绍快速排序(Quicksort)是对冒泡排序的一种改进。基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列快速排序的思路图快速排序的过程和思路其实很简单,假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个...
原创
发布博客 2020.02.13 ·
228 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏
加载更多