CSDN前端知识共享

在积累中沉淀,在学习中总结,在探索中尝试

模板引擎:二、实现一个Json解析器

2.Js实现Json解析器 前言 本文主要对Json解析器的实现进行探讨。 如果想深入了解其原理,可以参考上一篇文章:模板引擎:一、理解Json解析器工作原理 项目github地址:https://github.com/yang657850144/parseJson ...

2018-07-21 23:29:39

阅读数 446

评论数 0

图解排序算法-快速排序 (Javascarpt 实现)

快速排序 核心思想: 选取一个基数,保证左边的数都小于这个基数,右边的数都大于这个基数。然后递归执行上述步骤 时间复杂度 O(nlgn~n^2) 最好情况O(nlgn): 在数组中,每次选取的基数都恰好是最数组的 n/2 的位置。 如下图: 递归的总次数就等于二叉树的层数( k )...

2019-03-30 13:20:35

阅读数 51

评论数 0

图解排序算法-冒泡排序 (Javascarpt 实现)

冒泡算法 “冒泡”的由来 按照气泡在水中上浮的顺序进行模拟的一种算法,一般较大的气泡上浮越快,较小的气泡则在其后。 核心思路:在数组遍历时,当遇到较大的数值时,将较大的数往后交换,直至本轮比较结束。然后进行下一趟比较。 时间复杂度 O(n^2) 遍历一趟需要的时间复杂度为 O(n),一共需要进...

2019-03-30 11:16:58

阅读数 26

评论数 0

算法:两数之和求下标(递归解法)

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为...

2019-03-16 10:31:26

阅读数 25

评论数 0

蓝桥杯 三羊献瑞(重新排版)

问题描述: 观察下面的加法算式: 祥 瑞 生 辉 + 三 羊 献 瑞 ________________ 三 羊 生 瑞 气 其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。 请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要...

2018-02-07 17:49:51

阅读数 283

评论数 0

快速统计二进制中1的个数(分析篇)

今天做了一道题,发现n&=(n-1)这个式子很好奇,然后试着算了一遍发现它竟然能够快速统计二进制1的个数,特此拿来分享一下。 首先,分析一下该式子,先可以简化为 n=n&(n-1); 我们先做一个实例, n 1 2 3 4 5 6 7 ...

2016-08-16 15:12:46

阅读数 6597

评论数 0

常用排序算法之希尔排序

一、简介 希尔排序也是一直插入排序。直接插入排序类似于扑克牌的插牌顺序,而希尔排序是通过下标间距相同的数进行分组排序,直至整体有序排序完毕。 二、排序步骤 原始数组: a[8]={5,3,8,2,4,1,7,6};       length=8 第一趟    默认间距gap = ...

2016-05-25 18:33:24

阅读数 236

评论数 0

常用排序算法之选择排序

1.简介 选择排序,即有选择性地进行排序。而这个选择的标准就是"每次遍历寻找值最小的数"。 2.选择排序的种类 分为两类:一类是简单选择排序,另一种是树形选择排序(堆排序)--这个排序会另写一篇。 3.排序过程 ...

2016-05-24 15:56:28

阅读数 190

评论数 0

专题:链表结点的删除

1.数据域的值不重复 linkList* delNode(linkList *h,int key){//通过关键字去删除节点 linkList *p,*q; for(p=h;p&&p->data!=key;q=p,p=p->next);//空循环 ...

2016-05-23 16:46:32

阅读数 207

评论数 0

专题:单向链表

1.统计单向链表结点的个数 //统计链表结点个数 int count(linkList* head){//获取头结点 int num=0; linkList *p; for(p=head;p!=NULL;p=p->next){//当p->next域为空时,停止遍历 nu...

2016-05-23 16:06:54

阅读数 249

评论数 0

正向创建单向链表

正向创建链表,即采用”尾插法“。 数据集合: 10 20 30 40 50 60 目标:按数组的值,单向正向创建一个链表。 主要算法, 1.创建头结点 2.创建其他节点 分析结构 1.链表数据结构 typedef struct Node{ int data;//数据...

2016-05-23 14:52:15

阅读数 1572

评论数 0

常用排序算法之插入排序

插入排序,常用排序算法之插入排序,排序算法

2016-04-26 17:34:45

阅读数 435

评论数 0

常用排序算法之快速排序

1.何为“快排”? 快速排序,即就是很快速,很便捷的一种排序嘛-!O(∩_∩)O~ 但是,快速排序也并非一定是快速的。如果按照最糟糕的情况来看,它的时间复杂度几乎和冒泡排序是相同的0(n2)(是什么情况呢?)。但是,平均时间复杂度是0(NlogN)。 2.基本思想 快速排序是基于一...

2016-04-24 23:25:59

阅读数 230

评论数 0

常用排序算法之冒泡排序 (C、Javascript实现)

1.“冒泡”的由来 按照气泡在水中上浮的顺序进行模拟的一种算法,一般较大的气泡上浮越快,较小的气泡则在其后。 (介是由于浮力,别问我为什么\(^o^)/~) 2.基本思想 每次比较两个相邻的元素,如果按照从大到小的顺序依次排序,一旦他们出现错误顺序,则将其相互置换。 3.算法流程...

2016-04-23 20:37:54

阅读数 266

评论数 0

折半求和(递归调用)

递归求解:数组中的所有数值之和。

2016-04-13 18:11:06

阅读数 870

评论数 0

蓝桥杯 曼哈顿距离

X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为1,2,3... 当排满一行时,从下一行相邻的楼往反方向排号。 我们的问题是:已知了两个楼号m和n,需要求出它们之间的最短移动距离(不能斜线方向移动) 输入为3个整数w m n,空格分开,都在1到10000范围内 w为排...

2016-03-17 20:02:39

阅读数 413

评论数 0

蓝桥杯 带分数

问题描述 100 可以表示为带分数的形式:100 = 3 + 69258 / 714。 还可以表示为:100 = 82 + 3546 / 197。 注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。 类似这样的带分数,100 有 11 种表示法。 输入格式 从标准输入读入一个正...

2016-03-16 17:17:36

阅读数 544

评论数 0

加号改乘号 (穷举法)

题目大意  把1+2+3+…+48+49中的两个加号改成乘号(修改位置不能相邻), 使得式子的结果由1225变为2015。 比如: 1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015 就是符合要求的答案。  请你寻找另外一个可能的答案, 并把位置靠前的那个乘...

2016-03-14 17:37:30

阅读数 832

评论数 0

蓝桥杯 三羊献瑞

本文已经修改,重新排版:下面是文章的新链接 点击打开链接 问题描述: 观察下面的加法算式:       祥 瑞 生 辉   +   三 羊 献 瑞 -------------------    三 羊 生 瑞 气 其中,相同的汉字代表...

2016-03-11 17:48:59

阅读数 2345

评论数 3

蓝桥杯 欧拉和鸡蛋

问题描述: 大数学家欧拉在集市上遇到了本村的两个农妇,每人跨着个空篮子。她们和欧拉打招呼说两人刚刚卖完了所有的鸡蛋。 欧拉随便问:“卖了多少鸡蛋呢?” 不料一个说:“我们两人自己卖自己的,一共卖了150个鸡蛋,虽然我们卖的鸡蛋有多有少,但刚好得了同样的钱数。你猜猜看!” 欧拉猜不出。 ...

2016-03-09 16:29:52

阅读数 425

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭