-
平衡二叉树 AVL树 与C语言实现
所属栏目:[编程] 日期:2022-07-10 热度:54
上一节介绍如何使用二叉排序树实现动态查找表,本节介绍另外一种实现方式平衡二叉树。 平衡二叉树,又称为 AVL 树。实际上就是遵循以下两个特点的二叉树: 每棵子树中的左子树和右子树的深度差不能超过 1; 二叉树中每棵子树都要求是平衡二叉树; 其实就是在[详细]
-
哈希表 散列表 详解 包含哈希表处理冲突的方式
所属栏目:[编程] 日期:2022-07-10 热度:76
前面介绍了静态查找表以及动态查找表中的一些查找方法,其查找的过程都无法避免同查找表中的数据进行比较,查找算法的效率很大程度取决于同表中数据的查找次数。 而本节所介绍的哈希表可以通过关键字直接找到数据的存储位置,不需要进行任何的比较,其查找的[详细]
-
插入排序算法及C语言做成
所属栏目:[编程] 日期:2022-07-10 热度:188
插入排序算法是所有排序方法中最简单的一种算法,其主要的实现思想是将数据按照一定的顺序一个一个的插入到有序的表中,最终得到的序列就是已经排序好的数据。 直接插入排序是插入排序算法中的一种,采用的方法是:在添加新的记录时,使用顺序查找的方式找到[详细]
-
折半插入排序算法 C语言代码达成
所属栏目:[编程] 日期:2022-07-10 热度:80
上一节介绍了直接插入排序算法的理论实现和具体的代码实现,如果你善于思考就会发现该算法在查找插入位置时,采用的是顺序查找的方式,而在查找表中数据本身有序的前提下,可以使用折半查找来代替顺序查找,这种排序的算法就是折半插入排序算法。 该算法的具[详细]
-
2路插入排序算法说明
所属栏目:[编程] 日期:2022-07-10 热度:69
2-路插入排序算法是在折半插入排序的基础上对其进行改进,减少其在排序过程中移动记录的次数从而提高效率。 具体实现思路为:另外设置一个同存储记录的数组大小相同的数组 d,将无序表中第一个记录添加进 d[0] 的位置上,然后从无序表中第二个记录开始,同 d[详细]
-
表插入排行算法
所属栏目:[编程] 日期:2022-07-10 热度:196
前面章节中所介绍到的三种插入排序算法,其基本结构都采用数组的形式进行存储,因而无法避免排序过程中产生的数据移动的问题。如果想要从根本上解决只能改变数据的存储结构,改用链表存储。 表插入排序,即使用链表的存储结构对数据进行插入排序。在对记录按[详细]
-
冒泡排序 起泡排序 算法与其C语言实现
所属栏目:[编程] 日期:2022-07-10 热度:157
起泡排序,别名冒泡排序,该算法的核心思想是将无序表中的所有记录,通过两两比较关键字,得出升序序列或者降序序列。 对无序表的第一次起泡排序,最终将无序表中的最大值 97 找到并存储在表的最后一个位置。具体实现过程为: 首先 49 和 38 比较,由于 3849[详细]
-
简单选择排序算法 C语言解析版
所属栏目:[编程] 日期:2022-07-10 热度:56
该算法的实现思想为:对于具有 n 个记录的无序表遍历 n-1 次,第 i 次从无序表中第 i 个记录开始,找出后序关键字中最小的记录,然后放置在第 i 的位置上。 例如对无序表{56,12,80,91,20}采用简单选择排序算法进行排序,具体过程为: 第一次遍历时,从下[详细]
-
堆排序算法C语言细说
所属栏目:[编程] 日期:2022-07-10 热度:172
在学习堆排序之前,首先需要了解堆的含义:在含有 n 个元素的序列中,如果序列中的元素满足下面其中一种关系时,此序列可以称之为堆。 ki k2i 且 ki k2i+1(在 n 个记录的范围内,第 i 个关键字的值小于第 2*i 个关键字,同时也小于第 2*i+1 个关键字) ki k[详细]
-
何为外部排序算法
所属栏目:[编程] 日期:2022-07-10 热度:125
上一章介绍了很多排序算法,插入排序、选择排序、归并排序等等,这些算法都属于内部排序算法,即排序的整个过程只是在内存中完成。而当待排序的文件比内存的可使用容量还大时,文件无法一次性放到内存中进行排序,需要借助于外部存储器(例如硬盘、U盘、光盘[详细]
-
PHP笔记之日期函数的用法介绍
所属栏目:[编程] 日期:2022-07-10 热度:87
PHP是一门非常令人惊奇的语言。它足够强大(最大的博客(press/wordpress)的核心语言),它足够广泛(运行在最大社交网站facebook上),它足够简单(作为初学者首选入门语言)。在低成本的机器上运行良好。而且php语言有很多非常不错的服务器套件(如WAMP和M[详细]
-
关于二级目录拖拽排序的实现源码示例下载教程
所属栏目:[编程] 日期:2022-07-10 热度:162
在开发项目中经常碰到二级目录形式。比如文章模块、产品模块,很多应多都基于两级分类形式。而普通的解决排序方案,不管是一级分类,还是多级分类,都是由管理员在后台手动编辑同级分类排序的值来设置排序,根据该值的大小决定显示的顺序。这样的操作方式比[详细]
-
php class中self,parent,this的区别以及实例说明
所属栏目:[编程] 日期:2022-07-10 热度:153
php class中self,parent,this的区别以及实例介绍 一,this 1,要用this,你必有是一个对像的形势,不然它会报错的,Fatal error: Using $this when not in object context。 2,this可以调用本类中的方法和属性,也可以调用父类中的可以调的方法和属性 二,s[详细]
-
Eclipse中php插件安装及Xdebug配置的用法详解
所属栏目:[编程] 日期:2022-07-10 热度:143
由于在android开发团队,又迷上了android自动化测试,所有一直使用Eclipse做为开发工具。以前使用Zend Studio 9.0.1做为PHP的开发工具,现在放弃使用Zend Studio 9.0.1了,有了Eclipse的PHP开发插件,所以计划以后统一使用Eclipse开发。这样方便。在Eclipse[详细]
-
php中有规律大文件的读取与写入
所属栏目:[编程] 日期:2022-07-10 热度:148
这几天在做一个东西.研究PHP读取行数较多的文件(大概上百万行).考虑到效率问题.进行了简单的研究.总结如下 第一条.file()函数的效率问题. file()函数的效率很底下 如果是有规律的文件.比如每行一条相应数据.那么尽量不要是用file()函数 可以使用file_get_con[详细]
-
php gzip压缩输出的实现方法介绍
所属栏目:[编程] 日期:2022-07-10 热度:144
php gzip压缩输出的实现方法 一、gzip介绍 gzip是GNU zip的缩写,它是一个GNU自由软件的文件压缩程序,也经常用来表示gzip这种文件格式。软件的作者是Jean-loup Gailly和Mark Adler。1992年10月31日第一次公开发布,版本号是0.1,目前的稳定版本是1.2.4。 Gz[详细]
-
基于python发送邮件的乱码问题的修复办法
所属栏目:[编程] 日期:2022-07-10 热度:136
公司项目中需要通过后台发送邮件,邮件内容包括图片附件。如果通过PHPmailer发送,由于邮件服务器可能存在延迟现象,通过PHPmailer发送邮件,需要等待邮件发送成功后才能返回结果,这在实践中证明,有时发送邮件无法即时返回结果,影响用户体验。 于是我通过[详细]
-
在PHP中操作ini配置文件的方法
所属栏目:[编程] 日期:2022-07-10 热度:121
PHP操作ini配置文件 复制代码 代码如下:www.CuoXIn.com ?php //写ini文件 function write_ini_file($assoc_arr, $path, $has_sections=FALSE) { $content = ; if ($has_sections) { foreach ($assoc_arr as $key=$elem) { $content .= [.$key.]/n; foreach ([详细]
-
记一次因mysql触发器引发的故障
所属栏目:[编程] 日期:2022-07-10 热度:195
报错信息表示是由于mysql的函数和触发器引起的,问了下公司开发,他们表示函数功能已经测试上线好久了,没有问题,而触发器是这周刚上的。于是,赶紧进入生产的DB服务器进行查看: mysql use wendi; Database changed mysql SHOW TRIGGERSG; ... **********[详细]
-
mysql的varchar与text比较
所属栏目:[编程] 日期:2022-07-10 热度:176
varchar和text是mysql字符存储争议比较多的领域,究竟大字段用那个比较好,我们来对比一下,然后自行选择. 大小对比 VARCHAR:varchar在mysql中必须满足最大行宽度限制,也就是 65535(64k)字节,而varchar本身是按字符串个数来定义的,在mysql中使用uft-8字符集一[详细]
-
mysql需求情景 列转行
所属栏目:[编程] 日期:2022-07-10 热度:153
由于是模拟场景,直入主题,表名称及结构定义很low,请忽视! (1)现有学生分数表如下: mysql select * from vmark1; +-----+--------+--------+------+ | sid | sname | course | mark | +-----+--------+--------+------+ | 1 | 张三 | jsj | 90 | | 1 |[详细]
-
MySQL管理寻常的命令
所属栏目:[编程] 日期:2022-07-10 热度:121
MySQL管理常用的命令: 一、用户管理 1、创建用户 # 任何ip的客户端都可以访问 create user tester@% identified by 123456; # 只有本地的客户端才可以访问 create user tester@localhost identified by 123456; # 只有指定的192.168.1.90这个ip才可以访问 c[详细]
-
mysql5.7windows下zip安装注意事宜
所属栏目:[编程] 日期:2022-07-10 热度:178
mysql5.7windows下zip安装注意事宜: 1.官网下载zip包 我下的是mysql-5.7.16-winx64 2.解压放到任意目录下,我放的是D:mysql-5.7.16-winx64 3.配置环境变量(D:mysql-5.7.16-winx64bin追加到path),修改my-default.ini 注意:解压的文件夹里没有data目录[详细]
-
MySQL 8.0新特点 CTE
所属栏目:[编程] 日期:2022-07-10 热度:191
MySQL 8.0新特点 CTE: 1、CTE简介 MySQL从8.0开始支持CTE,慢慢地向Oracle学习,CTE确实是个很好用的东西,特别是针对OLAP类型的SQL,可以大大简化,优化SQL. 那么什么是CTE呢? 个人理解:CTE(common table expression)是一个临时的结果集,类似一个函数,[详细]
-
MySQL NULLIF函数用处
所属栏目:[编程] 日期:2022-07-10 热度:70
MySQL NULLIF函数以及如何使用它来防止查询中的除以零错误,NULLIF函数是接受2个参数的控制流函数之一。如果第一个参数等于第二个参数,则NULLIF函数返回NULL,否则返回第一个参数。 1,NULLIF语法结构 NULLIF(expression_1,expression_2); 2,举例用法 SELE[详细]
