上一节我们说到我们己经实现了一般Vector可以做到的自动扩充,告诉随机存取,那么现在我们需要完成vector的一个排序的功能. 排序算法我们网上一百度哇~~!很常见的就有8大排序算法: 1.选择排序 2.冒泡排序 3.插入排序 4.快速排序 5.归并排序 6.桶排序 7.堆排序 8.希尔排序 具体的思想本猿就不展开讲啦,现在C语言应用的场景大多数在服务器和嵌入式设备,服务器数据量大,嵌入式设备资源有限 两者是对时间复杂度和空间负责度的两个极端. 一开始我想要优化堆排序,使得堆排序的空间复杂度减…
var valueArr = new Array(); if( $("input[name='type']").val() != ""){ valueArr = $("input[name='type']").val().split(","); } if(selectedValue != "" && $.inArray(selectedValue, valueArr) == -1){ val…
[序] 上节我们实现了数据结构中最简单的Vector,那么来到第三章,我们需要实现一个Set set的特点是 内部有序且有唯一元素值:同时各种操作的期望操作时间复杂度在O(n·logn): 那么标准的C++ STL(Standard Template Library)  容器内部使用的是什么呢? STL使用的是红黑树或者hash Tree ,由于笔者现在的水平和精力,没时间搞这个啦,于是我就 挑了一个稍微熟悉一点的数据结构:AVL 树: github:https://github.com/Kim…
stl中set和map为关联式容器,会根据排序准将元素自动排序.原型如下: template<class _Kty, class _Pr = less<_Kty>, class _Alloc = allocator<_Kty> > class set template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty…
R语言 我要如何开始R语言_数据分析师 我要如何开始R语言? 很多时候,我们的老板跟我们说,这个东西你用R语言去算吧,Oh,My god!什么是R语言?我要怎么开始呢? 其实回答这个问题很简单,首先,你只需要知道R语言其实就是一种计算机语言,它很强大,它是专门用来进行计算的,它比C\C++.Perl都要强大,虽然他没有C那么的万能,没有Perl那么的文本处理能力,但是在计算和数据处理上,它绝对是一顶一的,而且当初它被提出来的初衷之一就是要让非计算机专业的人也能用计算机语言完成工作,极大程度上降低…
引言:DDD的困惑 最近,我看到园子里面有位朋友的一篇博客 <领域驱动设计系列(一):为何要领域驱动设计? >文章中有下面一段话,对DDD使用产生的疑问: •没有正确的使用ORM, 导致数据加载过多,导致系统性能很差. •为了解决性能问题,就不加载一些导航属性,但是却把DB Entity返回上层,这样对象的一些属性为空,上层使用这个数据时根本不知道什么时间这个属性是有值的,这个是很丑陋的是不是? 博主说的第一个问题,是因为使用ORM的人把实体类的全部属性的数据查询出来了,相当于执行了 sele…
SOD框架的数据容器,打造最适合DDD的ORM框架 引言:DDD的困惑 最近,我看到园子里面有位朋友的一篇博客 <领域驱动设计系列(一):为何要领域驱动设计? >文章中有下面一段话,对DDD使用产生的疑问: •没有正确的使用ORM, 导致数据加载过多,导致系统性能很差. •为了解决性能问题,就不加载一些导航属性,但是却把DB Entity返回上层,这样对象的一些属性为空,上层使用这个数据时根本不知道什么时间这个属性是有值的,这个是很丑陋的是不是? 博主说的第一个问题,是因为使用ORM的人把实体…
SQL分为五大类: DDL:数据定义语言   DCL:数据控制语言     DML:数据的操纵语言  DTL:数据事务语言  DQL:数据查询语言. DDL (date definition language):create,drop,alter,rename to   创建表,删除表,alter对列的修改 对列中约束的修改 ,修改列名 alter table 表名 rename column 原列名 to 新列名 .(对表和列的操作) 创建表:定义列(列名),   数据类型,添加约束 数据类型…
本篇接续前一篇继续讲 Netty 中的内存分配.上一篇 先简单做一下回顾: Netty 为了更高效的管理内存,自己实现了一套内存管理的逻辑,借鉴 jemalloc 的思想实现了一套池化内存管理的思路: Arena 作为内存分配器,可以被多个竞争获取内存的线程公用. Arena 将从操作系统中申请的内存块命名为 Chunk,每个 Chunk 为16M,后续所有的操作都是在 Chunk 内进行: Chunk 内部以 Page 为单位,一个 Page 大小为 8K: 有的时候8K对于待申请的资源来说还…
1.常用操作 列表常用操作 在 ipython 中定义一个 列表,例如: l= list() 输入 l. 按下 TAB 键, ipython 会提示 字典 能够使用的函数如下: 可以到官方网址查询使用方法: insert.append需要达到熟练的程度,pop / sort 用的也比较多就地操作(修改原来的内容), 拷贝一份进行操作(不会修改原来的值,但是会返回一个新的内容)案例: 其他用方法 使用in判断值是否存在 使用 += 合并列表 使用 len() 获取长度 使用join()转换为字符串…