RSS
 

Archive for December, 2010

预排序遍历树算法的探究(无限级分类算法)-1

09 Dec

今天在自己做分类的时候也碰到这个经典问题,我之前通常都是通过DictName和DictType做2级分类的,或者是通过parentId做递归查询,的确有时候在应用范围和递归效率上面另两难的选择。这次通过网络找到一个比较好的非递归算法,但是由于其局限性,牺牲了写的性能而强化了读的效率,正好跟递归反一反。为此我顺水推舟,准备将2者整合,形成一个比较完善的算法来处理。当然,既然不牺牲读写速度了,那势必得牺牲存储空间了,呵呵,广大同学服务器的空间还是能适应这点存储要求的吧。

首先作为开篇,我们来看一下网上的这篇帖子,主要算法思想原来是源自MySQL官方文档Managing Hierarchical Data in MySQL

多层数据结构估计所有的web开发者估计都不会陌生,各种软件的分类都是基于多层结构来设计的。

下面是一个典型的多层数据结构示意图:

相关创建数据语句:

CREATE TABLE category(
category_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(20) NOT NULL,
parent INT DEFAULT NULL);

INSERT INTO category
VALUES(1,'ELECTRONICS',NULL),(2,'TELEVISIONS',1),(3,'TUBE',2),
(4,'LCD',2),(5,'PLASMA',2),(6,'PORTABLE ELECTRONICS',1),
(7,'MP3 PLAYERS',6),(8,'FLASH',7),
(9,'CD PLAYERS',6),(10,'2 WAY RADIOS',6);

SELECT * FROM category ORDER BY category_id;

在这种数据结构中,各层之间通过字段 parent 来形成邻接表,我们查询某些层级的关系的时候一般都是通过递归的方式,遍历某个层级关系的SQL的查询次数会顺着层级的增加,想想在层级有20的时候,根据某个底层节点取它到顶层节点的查询次数吧。 Read the rest of this entry »

 

[转]最近八年令人深思的辟谣和假动作

02 Dec

1、从2003年起,官方每年都专题开会并发出红头文件,坚决遏制房价快速上涨,也就是从那时起,杭州上海的房屋均价从6000-8000元上涨到2010年的4—6万元每平方米,目前仍在持续快速上涨;

2、2006-2007年间,民间地震预测专家预测近年青海、四川、甘肃、陕西、山西将有大地震发生,专家进行了5次公开辟谣,甚至跨省抓人,结果2008年四川汶川大地震的发生,专家继续辟谣,说近年我国不会再发生大地震,结果青海玉树地震接着发生。

3、 2007年,股价飙升,银监、证监头面人物公开发表声明声称要增加我国居民的资产性收入,结果导致数百万股民数万亿资金疯狂入市,两个月后股价狂跌,从5000点一直跌落到1600点,银监、证监头面人物再度公开声明,股市飙升到3000点后再度狂跌到2000点。导致我国数百万股民数万亿资金化为乌有。

4、 2003-2010年,发改委先后十二次发表关于电价、油价不会飙升的辟谣声明,但是每次都是在辟谣之后50—70天,电价、油价突然提价。

5、2009年,国务院发布关于禁止滥用警力进行强制征地暴力拆迁的通知,之后国内掀起了强制征地暴力拆迁的新一轮高潮,2010年中办发布关于严禁强制征地暴力拆迁的通知,导致了国内超大规模的强制征地暴力拆迁,浙江杭州、甘肃陇南、吉林延吉、江西赣州等地每次动用警察200人以上,总次数超过10次,广西苍梧动用了3000名警察执行暴力征地,而浙江诸暨则发生了3000名村民暴打200强拆匪徒的械斗。全国这类事件上升到8万起。
Read the rest of this entry »