Inside ASP.NET 2.0 DataBound Control - 3

发布时间:2008-06-24 数据结构与算法

ASP.NET 2.0 较之ASP.NET 1.0和1.1提供了新的数据绑定模型,添加了一系列新的数据展现、编辑控件譬如GridView、DetailView以及FormsView等控件。

本文旨在阐述ASP.NET 2.0新的数据绑定控件架构,并且逐一介绍每一个控件。

HierarchicalDataBoundControl

HierarchicalDataBoundControl是一个抽象类,从BaseDataBound类派生,用来绑定树状数据。所有用来显示或编辑树状数据的绑定控件都应该从该类派生,例如TreeView以及Menu控件。

HierarchicalDataBoundControl实现的主要功能是从HierarchicalDataSourceControl中获取数据,派生类将不再需要关心如何从数据源中获取数据,而只需要关心其本身的业务逻辑即如何展示绑定数据。

1. HierarchicalDataBoundControl 接口
 1 public   abstract   class  HierarchicalDataBoundControl : BaseDataBoundControl
 2 {
 3    protected virtual HierarchicalDataSourceView GetData(string viewPath);
 4    protected virtual IHierarchicalDataSource GetDataSource();
 5
 6    protected override void PerformSelect();
 7    protected internal virtual void PerformDataBinding();    
 8
 9    protected override void ValidateDataSource(object dataSource);
10}

    ValidateDataSource
当用户设者HierarchicalDataBoundControl的DataSource属性时,控件会调用ValidateDataSource方法来验证绑定数据源是否为合法的数据源,通过该方法的实现我们可以知道绑定数据源必须是IHierarchicalEnumerble或者IHirarhiclDataSource对象。 

1 protected   override   void  ValidateDataSource( object  dataSource)
2 {
3    if (((dataSource != null) && !(dataSource is IHierarchicalEnumerable)) && !(dataSource is IHierarchicalDataSource))
4   {
5       throw new InvalidOperationException());
6   }
7}

另外如果用户通过DataSourceID属性来设置数据源,当进行数据绑定时控件会尝试向数据源检索HierarchicalDataSourceView,如果检索不到,将抛出同样的异常。

    GetDataSource
该方法将会从绑定数据源中检索相关联的IHierarchicalDataSource对象,而绑定数据源是用户通过DataSourceID属性指定的,也就是说GetDataSource方法只负责从DataSourceID属性指定的数据源中检索IHierarchicalDataSource对象。

而控件的另外一个私有方法ConnectToHierarchicalDataSource则会调用GetDataSource方法,无论控件通过何种方式进行数据绑定,该方法都会返回与数据源关联的IHierarchicalDataSource对象。

我们再来看一下IHierarchicalDataSource这样一个接口:

1 public   interface  IHierarchicalDataSource
2 {
3    event EventHandler DataSourceChanged;
4
5    HierarchicalDataSourceView GetHierarchicalView(string viewPath);
6}

该接口将会返回一个HierarchicalDataSourceView对象,通过该对象我们就可以检索其背后的树状数据了。

    GetData
从数据源中获取HierarchicalDataSourceView 对象,另用该对象数据绑定控件可以来操作数据。HierarchicalDataSourceView类定义了Select操作,通过Select方法可以进行数据检索。

public   abstract  IHierarchicalEnumerable Select();

ASP.NET 2.0通过IHierarchicalEnumerable和IHierarchyData两个接口来组织树状的数据结构,通过这两个接口我们可以检索到树状数据的每一个节点。

 1 public   interface  IHierarchicalEnumerable : IEnumerable
 2 {
 3    IHierarchyData GetHierarchyData(object enumeratedItem);
 4}
 5 public   interface  IHierarchyData
 6 {
 7    IHierarchicalEnumerable GetChildren();
 8    IHierarchyData GetParent();
 9
10    bool HasChildren { get; }
11    object Item { get; }
12    string Path { get; }
13    string Type { get; }
14}

IHierarchicalEnumerable接口负责在兄弟节点之间进行枚举迭代,而IHierarchyData接口则负责在父子节点之间进行枚举迭代。

    PerformSelect和PerformanDataBinding

HierarchicalDataBoundControl重载了PerformSelect方法,该方法只是设定数据绑定内部标志以及触发绑定事件,而将数据绑定的操作委托给了新定义的虚方法PerformDataBinding。

从该类派生的子类只需要重载PerformDataBinding方法来进行数据展示及其本身业务逻辑的处理就可以了。具体实现应该是在PerformDataBinding方法中通过GetData方法获取HierarchicalDataSourceView对象,然后进行数据检索。

2.  页面生命周期
HierarchicalDataBoundControl在页面生命周期中定义了一些时机来进行数据绑定的处理:

    OnPagePreLoad
如果是页面进行第一次请求的话,则控件要求进行数据绑定。另外如果是一次PostBack的话,并且控件仍然没有进行数据绑定,同时Enable ViewState,控件也会要求数据绑定。

 1 protected   override   void  OnPagePreLoad( object  sender, EventArgs e)
 2 {
 3    base.OnPagePreLoad(sender, e);
 4    if (this.Page != null)
 5    {
 6        if (!this.Page.IsPostBack)
 7        {
 8            base.RequiresDataBinding = true;
 9        }
10        else if (base.IsViewStateEnabled && (this.ViewState["_!DataBound"] == null))
11        {
12            base.RequiresDataBinding = true;
13        }
14    }
15    this._pagePreLoadFired = true;
16}

这一点跟DataBoundControlde处理是一样的。

    OnLoad
在OnLoad的时候控件会向绑定数据源检索IHierarchicalDataSource对象,并且进行备份。然后如果发现控件没有进行数据绑定的话,判断页面是否为第一次请求,如果是则要求进行绑定,如果不是当控件Enable ViewState,也会要求数据绑定。

 1 protected   internal   override   void  OnLoad(EventArgs e)
 2 {
 3    base.ConfirmInitState();
 4    this.ConnectToHierarchicalDataSource();
 5    if (((this.Page != null) && !this._pagePreLoadFired) && (this.ViewState["_!DataBound"] == null))
 6    {
 7        if (!this.Page.IsPostBack)
 8        {
 9            base.RequiresDataBinding = true;
10        }
11        else if (base.IsViewStateEnabled)
12        {
13            base.RequiresDataBinding = true;
14        }
15    }
16    base.OnLoad(e);
17}

 3. 小结
HierarchicalDataBoundControl定义了树状数据绑定控件的基类,其主要功能是实现了向层级的数据源检索数据,其派生类只需要针对获得的树状数据包进行自己的业务处理就可以了。

 4. 结束语
这是Inside ASP.NET DataBoundControl系列文章中的第三篇,第一篇介绍了BaseDataBoundControl,后两篇分别介绍了DataBoundControl和HierarchicalDataBoundControl,前者用于绑定表状数据,后者用于绑定树状数据。

以后如果有时间的话,我会写一下DataSourceControl以及DataSourceView,这两块其实是跟DataBoundControl密不可分的。

有什么问题大家可以互相交流,取长补短,共同进步。

转载于:https://www.cnblogs.com/tedzhao/archive/2008/06/24/1228435.html

更多相关推荐


木其工作室(专业程序代写服务)[转]学写块设备驱动(三)----踢开IO调度器,自己处理bio(上)...

发布时间:2013-07-22 JAVA 数据结构与算法
优质代写程序代写Assignment程序定制软件设计程序专业代写IT大学生程序代写其实,我们前面两篇都是围绕着请求队列(request_queue)这东西做事情。初始化请求队列时我们注册上驱动处理请求(request)的策略函数(simp_blkdev_do_request),然后在gendisk结构初始化时又填充上前面初始化好的queue。后面我们又用‘noop’IO调度器更换掉默认的'cfq'...

二叉树程序代写

发布时间:2014-06-09 程序代写 数据结构与算法
1.系统说明  输入一个正整数N,然后随机产生N个整数,创建一个二叉树(左子树≤父节点≤右子树)。  使用Windows程序设计,在窗体的客户区自动地画出创建二叉树的过程,并动画演示中序遍历。2.系统要求  自动计算每个节点的坐标,节点圆的半径可设置,节点间的距离可设置,左右子树的角度可设置;  二叉树的大小可能超出窗体客户区的大小,因此需设立窗体的水平与垂直的滚动条;  动画演示遍历时,标出节点...

面试算法:利用堆栈计算逆向波兰表达式

发布时间:2017-08-16 人工智能 面试 数据结构与算法
更具体的解说和代码调试演示过程,请參看视频怎样进入google,算法面试技能全面提升指南给定一个四则运算表达式的字符串。假设该表达式满足逆向波兰表达式,那么该字符串要满足下面条件:1:该表达式含有一个数字字符或一串数字字符。2:它拥有给定格式,如”A,B,。“。当中A,B是逆向波兰表达式。句号。表示的是四种运算符”+,-,*,/”当中之中的一个。比如字符串“3,4,*,1。2,+,+”就满足逆向波...

分布式系统中一致性哈希

发布时间:2019-05-23 PYTHON 数据库 数据结构与算法
2019独角兽企业重金招聘Python工程师标准>>> 问题场景近年来B2C、O2O等商业概念的提出和移动端的发展,使得分布式系统流行了起来。分布式系统相对于单系统,解决了流量大、系统高可用和高容错等问题。功能强大也意味着实现起来需要更多技术的支持。例如系统访问层的负载均衡,缓存层的多实例主从复制备份,数据层的分库分表等。我们以负载均衡为例,常见的负载均衡方法有很多,但是它们的优...

Python3基础知识之数据结构List和Tuple

发布时间:2018-05-17 PYTHON 数据结构与算法
问题:今天学习python数据结构中的List和Tuple。 目标:了解二者的区别,学会一般的应用相关知识:列表(List):类似于.NETArrayList/List。元组(Tuple):列表的只读版。 1、二者之间转换:list()/tuple()函数实现列表和元组之间进行转换。>>>>>> a = ['a', 'b', 'c'] >>>&...

Redis 增加intset的降级特性

发布时间:2013-05-30 数据结构与算法 操作系统 数据库
     Redis的数据结构非常丰富,比如实现了内存紧凑型的数据结构:intset、ziplist等.Redis2.3.16版本只提供了数据升级功能(比如16bit->32bit等)。然而这种存在一个问题就,增加1个大数据,然后删除此大数据后,那么可能存在内存浪费现象,比如:ADDN个16bit的数据,再ADD1个64bit的数据,再删除此64bit的数据,那么浪费的空间大小为:N*(64...

数据结构(java)之栈

发布时间:2018-07-25 JAVA 数据结构与算法
1.       栈的逻辑结构a)      定义:只允许在表的一端进行插入和删除操作的线性表,只允许操作的一段称为栈顶,另一端称为栈尾b)      特征:先进后出c)       抽象数据类型                    i.           数据元素:任意属于同一类的数据元素                    i.           数据结构:线性关系,除第一个元素外,每...

操作系统的文件系统思考

发布时间:2015-06-29 运维 操作系统 数据结构与算法
文件系统是操作系统的一部分,最终是目的是管理文件。 操作系统中之所以产生文件的概念,是为了方便多个进程可以共享一些数据,那么这些数据就要存储在磁盘上。多个进程可以进行访问。 把文件看成是磁盘上的地址空间。 文件的内容其实对计算机而言,就是字节序列。对用户看到的才是一行一行数据。 文件系统要解决的关键性问题是什么?就是记录一个文件用到哪些磁盘块(哪些磁盘块分配给了哪些文件),这样找一个文件的时候,就...

leetcode[187]Repeated DNA Sequences

发布时间:2015-08-30 数据结构与算法
AllDNAiscomposedofaseriesofnucleotidesabbreviatedasA,C,G,andT,forexample:"ACGAATTCCG".WhenstudyingDNA,itissometimesusefultoidentifyrepeatedsequenceswithintheDNA.Writeafunctiontofindallthe10-letter-lon...

九月十月百度,迅雷,华为,阿里巴巴笔试面试六十题(第411~470题)

发布时间:2015-04-01 JAVA 面试 数据结构与算法
九月十月百度,迅雷,华为,阿里巴巴笔试面试六十题(第411~470题)九月十月百度,迅雷,华为,阿里巴巴,最新校招笔试面试六十题  题记  本博客自2010年10月11日开通以来,已经帮助了一大批人找到工作,特别是连续三年在每一年的9、10月份陪伴了至少三届毕业生找工作的旅程,包括校招中的笔试面试,今年也不会例外,我会在本博客开通3周年之际一如既往的陪伴大家一起成长。  本文所整理的全部笔试面试题...

Windows的设备驱动框架

发布时间:2009-05-13 运维 操作系统 数据结构与算法
Windows的设备驱动框架   Windows内核管理层的部件之一是I/O管理模块,有时候也称为I/O子系统。I/O管理模块所管理的对象与活动纵向贯穿管理层、核心层乃至HAL层,所以称之为子系统其实也有道理。I/O管理的主体就是我们所说的设备驱动。很自然地,如果我们沿着纵向考察某项设备的驱动,则一般而言也会分成若干层次。操作系统的一个基本原理就是分层虚拟,即使一种设备的驱动程序全部都在同一个源程...

Linux C 函数参考(日期时间)

发布时间:2019-06-24 SHELL 操作系统 数据结构与算法
1.1概述世界标准时间(CoordinatedUniversalTime,UTC),也就是大家所熟知的格林威治标准时间(GreenwichMeanTime,GMT)。世界各地时间也世界标准时间为基准划分为不同的时区,例如,中国的北京时间与UTC的时差为+8,也就是UTC+8。美国是UTC-5。 CalendarTime:日历时间,是用“从一个标准时间点到此时的时间经过的秒数”来表示的时间。无论哪一...

基于高度差的地形LOD与平截头体剪裁

发布时间:2016-05-24 数据结构与算法
地形LOD是最近的一个难点,花了三天时间把它攻了下来,剪枝效率和效果都不错,很爽,特来与君分享。设计实现方案时纠结了一段时间,先实现了一个不修补裂缝的版本,核心递归函数20行做了80%的工作,很是精简,尤其是基于平截头体的场景剪裁算法,效果好到令我意外,真是做到了一片不多一片不少。其中有几个技术点可以提一下:判断并计算三角形与平截头体的位置关系与距离:可将三角形的世界坐标通过视图矩阵和投影矩阵变换...

HashMap 源码解读

发布时间:2018-12-27 JAVA 数据结构与算法
优秀HashMap博客:https://www.cnblogs.com/skywang12345/p/3310835.html#b1HashMap简介HashMap是一个散列表,它存储的内容是键值对(key-value)映射。HashMap继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。HashMap的实现不是同步的,这意味着它不是线程...

Java集合源码分析(四)HashMap

发布时间:2017-10-20 JAVA 数据结构与算法
一、HashMap简介1.1、HashMap概述  HashMap是基于哈希表的Map接口实现的,它存储的是内容是键值对<key,value>映射。此类不保证映射的顺序,假定哈希函数将元素适当的分布在各桶之间,可为基本操作(get和put)提供稳定的性能。  在API中给出了相应的定义://1、哈希表基于map接口的实现,这个实现提供了map所有的操作,并且提供了key和value可以...

SaaS服务模式与传统软件服务模式的区别

发布时间:2014-08-28 数据结构与算法 PYTHON 数据库
2019独角兽企业重金招聘Python工程师标准>>>    SaaS的特性分析    SaaS 可以说是目前软件行业最热门的词语之一了,SaaS是Software-as-a-service的简写,翻译成中文是“软件即服务”。最早的SaaS服 务之一可以追溯到在线电子邮箱,特别是免费电子邮箱的推出,极大地降低了个人与企业使用电子邮件的门槛,也降低了相应成本,进而改变了人与人、企业...

[ZJOI2005]午餐 [动态规划]

发布时间:2019-07-18 数据结构与算法
P2577 [ZJOI2005]午餐每个人有排队和吃饭花费的时间将人分为两队排队求所有人最早吃完时间可以想到吃饭吃的越久的人越早排队越优所以从大到小排序开始想到f[k][i][j]前k个人排队时1号窗口排队花费时间i2号窗口花费时间j最早吃完时间但会爆空间继而经过一系列思考f[i][j]表示前i个人排队时1号窗口排队花费时间为j最早吃完时间而2号窗口排队时间可以通过sum[i]-j得出#inclu...

wpf一些例子

发布时间:2015-06-01 C# UI 数据结构与算法
相关知识点:WPF-AdornerWPFDiagramDesignerhttp://www.codeproject.com/Articles/484616/MVVM-Diagram-Designer翻译好的http://www.cnblogs.com/zhoujg/archive/2009/11/23/1608913.htmlhttp://www.cnblogs.com/zhoujg/archiv...

sysfs是什么??

发布时间:2019-05-18 操作系统 数据结构与算法
来源:https://blog.csdn.net/qq_36412526/article/details/83751520第一次接触:sysfs,这里记录过程: 原文:Documenttation/filesystems/sysfs.txtsysfs-用于导出内核对象(kobject)的文件系统sysfs是什么:sysfs是一个基于ram的内存文件系统(ramfs)。它提供了一种方法用于导出内核数...

Linux内核中的GPIO系统之(3):pin controller driver代码分析--devm_kzalloc使用【转】...

转自:http://www.wowotech.net/linux_kenrel/pin-controller-driver.html一、前言对于一个嵌入式软件工程师,我们的软件模块经常和硬件打交道,pincontrolsubsystem也不例外,被它驱动的硬件叫做pincontroller(一般ARMsoc的datasheet会把pincontroller的内容放入GPIOcontroller的章...

linux常用头文件

发布时间:2015-04-07 数据库 操作系统 数据结构与算法
http://blog.csdn.net/kokodudu/article/details/17361161 aio.h异步I/Oassert.h验证程序断言 complex复数类complex.h复数处理cpio.hcpio归档值 ctype.h字符类型 dirent.h目录项,opendir(),closedir(),readdir(),readdir64()dlfcn.h动态链接errno....

认真分析mmap:是什么 为什么 怎么用【转】

发布时间:2016-11-08 大数据 数据结构与算法
转自:http://www.cnblogs.com/huxiao-tee/p/4660352.html?utm_source=tuicool&utm_medium=referral 阅读目录mmap基础概念mmap内存映射原理mmap和常规文件操作的区别mmap优点总结mmap相关函数mmap使用细节回到顶部mmap基础概念mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进...

近期一些事

发布时间:2019-10-08 C/C++ 数据结构与算法 PYTHON
Link:https://informationalmind.appspot.com/2012/07/10/AboutSomethingRecently.html好久没更新了,主要是因为最近做的事情比较杂,而且没有一个完成的,所以一直没有写。而且到现在为止,依然是各种未完成……最近都干啥了呢?应付各种考试,看书,读KlayGE的一部分代码,“调研”某些基于GPU的技术,参加了个某某企业举办的程序设...

Design stack containing min function

发布时间:2014-01-05 数据结构与算法
//设计包含Min函数的栈//定义栈的数据结构,要求添加一个函数,能够得到栈的最小元素。要求函数Min,push,pop的时间复杂度都是O(1).#include<iostream>#include<cstdlib>structminStackElement{intdata;intmin;};structminStack{minStackElement*data;intsi...

排序算法第一篇——插入排序

发布时间:2019-09-27 JAVA 数据结构与算法
算法描述:从一个无序的集合中取出一个元素,插入到一个有序的集合的合适位置,有序的集合插入新元素之后,仍然是有序的。所以该算法最核心的部分是要在有序集合中找到合适的插入位置。Java代码:packageljp.sort.insert;publicclassInsertSortDemo01{privateint[]list;publicInsertSortDemo01(int[]list){this....

kmeans算法的matlab实践

发布时间:2013-10-14 MATLAB 数据结构与算法
把图像中所有的像素点进行RGB聚类分析,然后输出看结果1img=imread('qq.png');23%取出R矩阵,并将这个R矩阵拉成一列4imgR=img(:,:,1);5imgR=imgR(:);67%取出G矩阵,并将这个G矩阵拉成一列8imgG=img(:,:,2);9imgG=imgG(:);1011%取出B矩阵,并将这个B矩阵拉成一列12imgB=img(:,:,3);13imgB=im...

Go的List操作上的一个小“坑”

发布时间:2014-06-10 数据结构与算法
转自http://sharecore.net/blog/2014/01/09/the-trap-in-golang-list/ 一直想不清楚一个问题,简单设计的东西到底是“坑多”还是“坑少”呢?复杂的设计,考虑的太全面,使用起来更麻烦,使用者容易陷入乱,落入自身的陷阱;而简单的设计呢,在许多方面上又顾及不周,如果使用者对其“设计”没仔细研究,或者其实现本身又是一个黑盒子,也容易掉入到设计本身遗留下...

操作系统实验二

发布时间:2016-04-22 操作系统 数据结构与算法
专业:商业软件工程  班级:商软2班  姓名:梁仕标  学号:201406114248实验二作业调度模拟程序一、目的和要求1. 实验目的(1)加深对作业调度算法的理解;(2)进行程序设计的训练。2.实验要求用高级语言编写一个或多个作业调度的模拟程序。单道批处理系统的作业调度程序。作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时...

[学习]SVM入门(一)

发布时间:2011-03-04 数据结构与算法 人工智能
----------------------------------------------------------资料是从免费网站上获取的,上载在这里,只为交流学习目的,文章原作者保留所有权力,如本博客的内容侵犯了你的权益,请与以下地址联系,本人获知后,马上删除。同时本人深表歉意,并致以崇高的谢意!erwin_609#msn.com--------------------------------...

数据ETL是指什么

发布时间:2018-09-18 数据结构与算法
ETL是数据抽取(Extract)、清洗(Cleaning)、转换(Transform)、装载(Load)的过程。是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。转载于:https://www.cnblogs.com/lxwphp/p/9667194.html...

【机器学习】机器学习的经典算法

发布时间:2018-08-22 大数据 人工智能 数据结构与算法
【机器学习】机器学习的经典算法 https://mp.weixin.qq.com/s/CxSG9l_dxA4G-SZKOGI1ng  本文为整篇文章第二部分,整篇文章主要目录如下: 1:一个故事说明什么是机器学习2:机器学习的定义3:机器学习的经典算法4:机器学习的应用--大数据5:机器学习的子类--深度学习6:机器学习的父类--人工智能7:机器学习的思考--计算机的潜意识8:总结 通过从机器学习...

Lisp的本质(The Nature of Lisp)

发布时间:2011-11-25 数据结构与算法 C# 数据库
Lisp的本质(TheNatureofLisp)                       Lisp的本质(TheNatureofLisp)                            作者SlavaAkhmechet                            译者AlecJang             出处:http://www.defmacro.org/ramblin...

Lisp的本质(The Nature of Lisp)学习思考

发布时间:2013-05-02 数据结构与算法 C# 数据库
 Lisp的本质(TheNatureofLisp)学习思考作者SlavaAkhmechet译者AlecJang出处:http://www.defmacro.org/ramblings/lisp.html简介最初在web的某些角落偶然看到有人赞美Lisp时,我那时已经是一个颇有经验的程序员。在我的履历上,掌握的语言范围相当广泛,象C++,Java,C#主流语言等等都不在话下,我觉得我差不多知道所有的...

LISP

发布时间:2012-12-03 数据结构与算法 LISP C# 数据库
Lisp的本质(TheNatureofLisp)                       Lisp的本质(TheNatureofLisp)                            作者SlavaAkhmechet                            译者AlecJang             出处:http://www.defmacro.org/ramblin...

垃圾代码评析——关于《C程序设计伴侣》6.2(三)

发布时间:2012-11-06 数据结构与算法
前文链接:http://www.cnblogs.com/pmer/archive/2012/11/05/2754784.html【样本】 输出二维数组结果  排序完成之后,我们对于数据的处理就已经完成了,最后的任务就是将处理后的数据输出,告诉用户数据的处理结果。自然地,要将二维数组中的数据输出,我们还是利用for语句来循环遍历实现:1.//…2.3.intmain()4.{5.//…6.7.//输...

数据结构与算法 ----图的遍历

发布时间:2019-03-07 数据结构 数据结构与算法
转自:http://www.cnblogs.com/skywang12345/1.深度优先搜索介绍图的深度优先搜索(DepthFirstSearch),和树的先序遍历比较类似。它的思想:假设初始状态是图中所有顶点均未被访问,则从某个顶点v出发,首先访问该顶点,然后依次从它的各个未被访问的邻接点出发深度优先搜索遍历图,直至图中所有和v有路径相通的顶点都被访问到。若此时尚有其他顶点未被访问到,则另选一...

sklearn 中模型保存的两种方法

发布时间:2018-12-12 数据结构与算法 人工智能
一、sklearn中提供了高效的模型持久化模块joblib,将模型保存至硬盘。fromsklearn.externalsimportjoblib#lr是一个LogisticRegression模型joblib.dump(lr,'lr.model')lr=joblib.load('lr.model')二、pickle>>>fromsklearnimportsvm>>&g...

Redis笔记系列(特别总结篇)——常见配置redis.conf知识点总结

发布时间:2017-11-26 数据结构与算法 PYTHON 数据库
2019独角兽企业重金招聘Python工程师标准>>>由于前几篇说的redis配置信息量有点杂,很多是循序渐进把各个点引出的,不太方便我自己和其他小伙伴日后拿出来瞄一眼,所以,本文把之前的一些要点列一下:(本文主次oschina博主HappyBKs的博文:https://my.oschina.net/happyBKs/blog/edit/1579943)redis.conf配置项...

直接插入排序 快速排序算法 直接选择排序

发布时间:2014-07-04 数据结构与算法
以下三个验证性实验都做。(1)直接插入排序算法验证。(2)快速排序算法验证。(3)直接选择排序算法验证。 #include<iostream>#include<cstdlib>usingnamespacestd;classdishizhang{public:inta[10];intb[10];dishizhang(){inttem;for(inti=0;i<10;i+...

数据结构————队列

发布时间:2019-01-15 数据结构与算法
1.ADT接口 操作功能size()报告队列的规模(元素总数)empty()判断队列是否为空enqueue(e)将e插入队尾dequeue()删除队首对象front()引用队首对象 ...

第五百五十八天 how can I 坚持

发布时间:2016-11-08 数据结构与算法
  线索二叉树,森立转二叉树,乱七八糟的呢,都忘干净了,当初学会了吗?哎,难度好大。  今天在群里扯了好多,扯的我都心虚了,晕晕的。。  到底是喜欢她哪呢。。搞不懂自己,不能把自己想的太好了。。  睡觉。转载于:https://www.cnblogs.com/52-it/p/6045099.html...

左神初级班 (二)

发布时间:2018-11-24 数据结构与算法
1、猫狗队列实现一种狗猫队列的结构,要求如下:用户可以调用add方法将cat类或dog类的实例放入队列中;用户可以调用pollAll方法,将队列中所有的实例按照进队列的先后顺序依次弹出;用户可以调用pollDog方法,将队列中dog类的实例按照进队列的先后顺序依次弹出;用户可以调用pollCat方法,将队列中cat类的实例按照进队列的先后顺序依次弹出;用户可以调用isEmpty方法,检查队列中是否...

【codeforces 787A】The Monster

发布时间:2017-10-04 数据结构与算法
【题目链接】:http://codeforces.com/contest/787/problem/A【题意】把b一直加a->得到x把d一直加c->得到y然后问你x和y可不可能有相同的值.有的话,输出那个最小的;【题解】等价于令t=(b+u*a-d)%c==0u为整数这里如果b<d就swap(a,c),swap(b,d)就好;然后如果t遇到了重复的值,就结束,往后都不可能了;如果t...

[LeetCode] Wiggle Sort 摆动排序

发布时间:2016-02-02 数据结构与算法
 Givenanunsortedarraynums,reorderitin-placesuchthatnums[0]<=nums[1]>=nums[2]<=nums[3]....Forexample,givennums=[3,5,2,1,6,4],onepossibleansweris[1,6,2,5,3,4]. 这道题让我们求摆动排序,跟WiggleSortII相比起来,这道题...

顺利搞定java面试及笔试题

发布时间:2012-07-20 数据结构与算法 面试 数据库
为什么80%的码农都做不了架构师?>>>  所有的书,多数应该能在网上找到。如果实在找不到,就去买一本。 一、Java语言基础 《Java编程思想》,是必须看的。Java初级程序员考试参考书,也是不错的补充。 二、Java语言高级 面试和笔试的难题,往往不是《Java编程思想》里的。所以,一定要看java高级程序员参考书——Java2学习指南。所以的难题,都是出自这里。 当然,也...

JSaaS如何支持传统应用开发与云应用开发

发布时间:2017-04-05 数据结构与算法 测试 数据库
1.传统企业或单位信息化的现状传统的企业应用开发已经持续了比较长的时间了,在中国有一定规模的企业,其信息化也实施了一段时间,因为企业在生产经营过程中,不同的业务系统是根据其业务需求而逐步建立的,开始时,并没有经过长远规划,因此,不同的信息系统是独立的,这带来一个不同系统之间是独立并且信息不通。但当企业运作了一段时间后,其就通过信息化部门,逐步把这些信息通过接口开发、整合来实现,于是形成了如下的使用...

【盘点】深度学习最常用到的20个Python库

发布时间:2018-10-08 人工智能 数据结构与算法 PYTHON
2019独角兽企业重金招聘Python工程师标准>>>核心库与统计NumPy我们从科学应用程序库开始说起,NumPy是该领域的主要软件包之一。它旨在处理大型多维数组和矩阵,并且广泛的高级数学函数和实现的方法集合,使得可以使用这些对象执行各种操作。在这一年中,NumPy有很多更新。除了错误修复和兼容性问题之外,关键更新还包括NumPy对象的打印格式。此外,某些函数现在可以处理Pyt...

B.3 字典

发布时间:2018-12-27 测试 数据结构与算法
  在框架中,字典的选择要比列表少得多。只有三个主流的非并发IDictionary<TKey,TValue>实现,此外还有ExpandoObject(第14章已介绍过)、ConcurrentDictionary(将在介绍其他并发集合时介绍)和RouteValueDictionary(用于路由Web请求,特别是在ASP.NETMVC中)也实现了该接口。  注意,字典的主要目的在于为值提供...

数据结构-非线性-树-二叉树

//概述//线性结构用于描述数据元素之间的线性关系,实际应用的数据元素之间的关系错综复杂,很难用线性关系描述,这就用到非线性结构,//树它描述客观世界中事务之间的层次关系,一切具有层次关系的问题都可以用树来描述//例如,家族的族谱,各种社会结构,(操作系统的文件系统中,用树表示目录结构)(编译程序中,用树表示源程序的语法结构)#pragmamark--树的定义//树,是有n(n>=0)个结点...