最近由于工作原因,需要自己实现一个类似队列的数据结构,所以想写篇文章记录并总结下队列的相关内容,主要有以下4点:
1)队列的定义
2)队列的举例
3)队列的基本操作
4)队列的实现(go)
1)队列的定义
队列,又称为伫列(queue),是先进先出(FIFO, First-In-First-Out)的线性表。在具体应用中通常用链表或者数组来实现。队列只允许在后端(称为堆尾(rear))进行插入操作,即enqueue,在前端(称为队头(front))进行删除操作,即dequeue。队列的操作方式和栈类似,唯一的区别在于队列只允许新数据在后端进行添加。
继续阅读 »
在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢?
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
select * from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录
继续阅读 »
在开发过程中很容易遇到去多张表查询数组组合成一个对象的场景。
有两种方案:
一条大sql直接搞定
把大sql拆分成多条小sql,在程序代码里面再组装对象
more
下面分别分析下各自的优缺点:
大sql
优点:一目了然,程序代码简洁,只需要建立一个连接,在数据量小的情况下效率会高很多。
缺点:在数据量大的情况下响应慢,可能一条大SQL就把整个数据库堵死。垂直拆分情况下sql改动会很大。
多条小sql
优点:在数据量大的情况下效率高。对垂直拆分友好。
缺点:程序代码会变得异常啰嗦,难以维护。
各有利弊,要权衡使用场景。
如果在表数据量巨大的情况下或者数据字段比较有可能做垂直切分的情况下建议或者在做报表这种耗时操
继续阅读 »
**对代码不满足,是任何真正有天才的程序员的根本特征。**
Value '0000-00-00' can not be represented as java.sql.Timestamp
在查询MySql数据库某表的timestamp列的时候,发现此异常,问题来源表述如下
1. 先创建一个测试表
sql
create table test.mytest(
id int PRIMARY KEY AUTO_INCREMENT ,
createtime timestamp not null default current_timestamp , --创建时间
updatetime timestamp not null , --更新时
继续阅读 »
将概率统计联系到机器学习上
表4-1 机器学习与统计中的对比
罐子小球
机器学习
未知的橙色小球比例
某一确定的假设在整个X输入空间中,输入向量x满足条件 的占整个输入空间的比例
抽取的小球∈整个罐子中的小球
训练输入样本集 整个数据集X
橙色小球
假设h作用于此输入向量x与给定的输出不相等
绿色小球
假设h作用于此输入向量x与给定的输出相等
小球样本是从罐子中独立随机抽取的
输入样本x是从整个数据集D中独立随机选择的
该表来自博客园.杜少
继续阅读 »
文/Robin
本站推广
币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。
币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872
邀请码: 11190872
最近遇到个问题,需要获取表的字符集。
下面做一个演示。
环境:
Linux:RHEL 6.1
MySQL:5.1
首先创建测试库,测试表:
``` bash
CREATE DATABASE TEST DEFAULT CHARACTER SET UTF8;
USE test;
CREATE TABLE t(id INT, name VARCHAR(20)
继续阅读 »
ArrayList 和 LinkedList 是在开发过程中 常用的数据结构
分别代表了数组和链表,其实本身的实现都非常简单,所以Source Code
Read 就先从这两个开始。
ArrayList
ArrayList 从名字上就可以看出这个容器的本质,是用一个数组反复的进行自增实现的,ArrayList几乎是最经常被使用的List的实现了,平时可以使用线性数据结构的时候,通常都会选择ArrayList。但是容器的选取也要考虑到实现的方式和你需要的应用。比如说数组长于索引,弱于扩容和删除,但是链表长于扩容和删除,但是寻找某个具体节点的时候,没办法靠基址寻址来实现,而是要用指针不断的
继续阅读 »
文/Robin
本站推广
币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。
币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872
邀请码: 11190872
环境
SQL Server 2012 + CentOS 6.3
问题描述
只具有生产库的登录、查询、创建临时表权限,缺失导入数据(比如Excel文件、txt文档、sql脚本等等)权限,需要创建临时表,插入测试数据。
问题模拟
由于生产库的数据是敏感数据,并且数据量非常大,当然不能提供出来。这里只是对这个问题进行一个模拟。数据量少和数据量大操作方法是一样的
继续阅读 »
目录
Table of Contents
{:toc}
文/Robin
本站推广
币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。
币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872
邀请码: 11190872
问题描述
生产库中一张表的数据10亿级别,另一张表数据100亿级别,还有其他表的数据也是相当地庞大。入职之前不知道这些表有那么大的数据量,于是习惯了使用count(*)来统计表的记录数。但这一执行就不得了,跑了30多分钟都没出结果,最后只有取消查询。后来采取了另一种办法查询记录数。首先说明下解决的办法,使
继续阅读 »
文/Robin
本站推广
币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。
币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872
邀请码: 11190872
今天休息,看了08年的演奏会,《久石让在武道馆》,除了享受音乐盛宴的震撼外,更多的是为久石让和宫崎骏之间的友谊而感动。
以前我是轻视动漫的,心想这是小孩看的玩意,“大人”看这个岂不是笑话。可真正接触到动漫的时候,才发现我彻彻底底的错了。动漫表现出的对和平的渴望,对人性的赞扬,对美好世界的追求,对惩恶扬善的宣扬,对历史人物的追忆……如此云云,真的是一片大好世界
继续阅读 »