李玮玮
 Android中ListView为什么有时更新数据失败
Android中适配器的notifyDataSetChanged()为何有时不刷新? 学过Android开发的人都知道,ListView控件在开发中经常遇到,并且ListView通常结合Adapter适配器来进行数据显示和数
LeeMaster
 后端架构师看Webpack
说实话Webpack 应该是前端的工具吧,但是我看webpack的文档写的还是十分清楚的好不好??现在前端只是写CSS可还行,工程上的模块化还是要学的好不好?最近需要处理一个小项目,编译器那个还没来得及继续写,我是肯定会写完的。就赶上了Bu
8-毛俊杰
 链表专题(单链表、双向链表、循环链表、静态链表)
单链表基础:https://www.cnblogs.com/mbath/p/10195223.html双向链表基础:https://www.cnblogs.com/mbath/p/10195228.html循环链表基础:https://ww
杨伟彬
 数据结构——图的存储举例
1. 图的定义 图 (Graph) 是一种复杂的非线性数据结构, 由顶点集合及顶点间的关系(也称弧或边)集合组成。可以表示为:G=(V, VR)其中V是顶点的有穷非空集合; VR 是顶点之间关系的有穷集合,也叫做弧或边集合。弧是
杨伟彬
 数据结构——堆排序
1. 堆排序原理 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。 n个元素的序列\({ k_1,k_2
杨伟彬
 数据结构——希尔排序
1. 希尔排序原理 希尔排序(Shell’s Sort)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序,同时该算法是冲破\(O(n^2)\
8-毛俊杰
 备战蓝桥杯-----贪心算法基础知识(专题一)
贪心算法贪心算法顾名思义就是用计算机来模拟一个 “贪心” 的人做出决策的过程。这个人每一步行动总是按某种指标选取最优的操作,他总是 只看眼前,并不考虑以后可能造成的影响 。可想而知,并不是所有的时候贪心法都能获得最优
朱应丽
 Java网络编程之使用套接字(Socket)进行通信
一、 套接字(Scoket)的引入 Java支持基于流的通信和基于包的通信。基于流的通信使用传输控制协议(TCP)进行数据传输,而基于包的通信使用用户数据报协议(UDP)。因为TCP协议能够发现丢失的传输信息并重新发送,所以
3-范天祚
 数据结构与传统算法总结
复制到这里格式就乱了,去网址看吧不止是c,但是懒的找封面了链接这只是初步汇总,过一段时间再来更新
杨伟彬
 数据结构——线性表顺序存储
线性表的顺序存储 线性表是最常用且最简单的一种线性结构。线性结构的特点:(1) 存在唯一的一个被称作“第一个”的数据元素。(2) 存在唯一的一个被称作“最后一个”的数据元
杨伟彬
 数据结构——二叉树的存储结构举例
1. 二叉树的定义定义: 二叉树是 n (n≥0) 个结点的有限集,它或者是空集 (n = 0),或者由一个根结点及两棵互不相交的分别称作这个根的左子树和右子树的二叉树组成。特点: ①每个结点最
杨伟彬
 数据结构——图的应用
1. 图的应用 在数据结构中图的应用很广泛,本文主要从以下四个方面介绍: ①最小生成树:给定一个无向网络,在该网的所有生成树中,使得各边权数之和最小的那棵生成树称为该网的最小生成树,也叫最小代价生成树。 ②拓扑排序:由某个
杨伟彬
 数据结构——图的遍历
1. 图的遍历定义 从图的任意指定顶点出发,依照某种规则去访问图中所有顶点,且每个顶点仅被访问一次,这一过程叫做图的遍历。 图的遍历按照深度优先和广度优先规则去实施,通常有深度优先遍历法(Depth_First Se
LeeMaster
 实现一个自己的编程语言——词法分析
首先我们知道我们所有的代码都放在了一个文件内,so,第一件事我们要读入文件并进行词法分析,分析完成之后形成的token流会被接下来的语法分析器消费掉,典型的生产者消费者模型。一个Tokenizer 组成首先需要介绍一种缓存读文件的方法,双缓
LeeMaster
 写一个自己的编程语言——语法分析
回归一下之前提到的概念,编译器的工作流程,首先将文件按照流的方式依次读入内存,并根据一个词法状态机生成一个Token流,那么Token接下来该怎么被处理呢?我们可以参考一下语言的规律。我们的文件读入流是为了读入字符,字符呢其实就是一个语言的
7-李建涛
 Java — 静态绑定和动态绑定
Java的引用变量有两个类型,一个是编译时类型,一个是运行时类型,编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,会出现所谓的多态。(即Perso
LeeMaster
 Rust杂七杂八整理
开始发布系列文章,写一个自己的编程语言,也是最近无聊,用Rust来实现,当然用java C/CPP go 之类的实现简直无压力,so,我选择了rust,反正以后的工作也是跟这个语言过不去,那么就入个门写个解释器玩玩。最后一学期了,本学期天天
LeeMaster
 实现一个自己的编程语言—— 有限自动状态机
等等,我们不是在实现一个自己语言的解释器吗,为什么说起来了有限自动状态机呢?首先我们需要知道对一个语言解释器来说,应该由前端和后端两部分组成,这里的前端就是将文件读入内存并转化成Token流举个例子func say_hello(){ int
LeeMaster
 实现一个自己的编程语言——起步
首先我们准备实现的编程语言长啥样# 这是一个注释 println("Hello World!"); println(2 + 3 * 4); # 使用lambda作为声明函数的关键字 fib = lambda (n) if n < 2
LeeMaster
 实现一个自己的编程语言——准备
实现一个自己的编程语言,应该作为大三或者大二下学期学生必备的实验,毕竟又不用做到工业级别实现。也是掌握I/O和字符串和各种数据结构的一种手段。主要是最近被分配干自研数据库的SQLParser部分,也就是解析SQL语句生成执行计划的工作,捎带