E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
算法与数据结构每日练习
《Delphi
算法与数据结构
》学习与感悟[9]: 循环链表
前面例子中, 链表的尾节点都再没有链接其他节点; 如果让尾节点再链接首节点, 不就是循环链表了吗? 本例效果图: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls
·
2015-11-02 12:18
Delphi
《Delphi
算法与数据结构
》学习与感悟[5]: 定位一个字符位置时, Pos 函数为什么不是最快的?
如果 Pos 函数的第一个参数是 Char 而非 String, 那么编译器也会先把 Char 转换为 String; 从内存结构到管理机制, String 远比 Char 要复杂. 因此, 面对这种情况(要定位的是 Char) Pos 还有优化的余地; 优化后速度会提升 5 倍左右. 测试效果图: unit Unit1; interface u
·
2015-11-02 12:17
Delphi
《Delphi
算法与数据结构
》学习与感悟[4]: 关于 const
如果参数在函数中不可能修改, 一定要使用 const; 不然, 编译器就会: 假定先修改, 先要备份; 使用前后要增减引用计数; 还要套上 try finally. 指定了 const 就可以避免以上过程从而提高效率. 测试效果图: unit Unit1; interface uses Windows, Messages, SysUti
·
2015-11-02 12:16
Delphi
《Delphi
算法与数据结构
》学习与感悟[2]: 数据对齐
为了加快硬件的访问速度, 编译器通常要使用"数据对齐", 譬如: //下面结构中: SizeOf(TRec) = 6; 因为 b 在这里也要占 2 字节. TRec = record a: Word; b: Byte; c: Word; end; //下面结构中: SizeOf(TRec) = 16; 这里的 a 和 b 共占了 8
·
2015-11-02 12:15
Delphi
《Delphi
算法与数据结构
》学习与感悟[1]: 通过 "顺序查找" 与 "二分查找" 说明算法的重要性
测试效果图: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TBut
·
2015-11-02 12:15
Delphi
《
算法与数据结构
---C语言描述》里的求多项达式值
在栈的应用里,作者写了将多项式值 ,但是描述的不是很清楚,露了一个说明 。 从左到右读取中缀表达式,依次一个操作项. 如果是操作数直接进入输出队列. 读到左括号时总是将它压入栈中. 读到右括号, 将最近栈顶的第一个左括号上面的操作符全部依次弹出, 送至输出队列后, 再丢弃左括号. 当读到操作符时,将栈中所有优先级高于或等于当前操作符的操作符弹出,送到输出队列中. 中缀表
·
2015-11-02 09:19
数据结构
《
算法与数据结构
---C语言描述》优先队列
所谓的优先队列,其实是一个二叉树,只是这个树比较特别,小数据的结点一定在大数据的结点之上,又称“小根堆”。 搞了几天,终于把优先队列搞定了,当然,也是这几天老是分神,QQ还是在白天设置成免打扰模式吧。 以下是代码 View Code 1 #ifndef PriorityLEAP_H 2 #define PriorityLEAP_H 3
·
2015-11-02 09:19
数据结构
《
算法与数据结构
---C语言描述》里的农夫过河
题目: 一个农夫带着一只狼,一只羊和一些菜过河。河边只有一条船,由于船太小,只能装下农夫和他的一样东西。在无人看管的情况下,狼要吃羊,羊要吃菜,请问农夫如何才能使三样东西平安过河。 算法的实质: 在满足一定条件下的,所有状态的遍历。 满足的条件: 1.每次农夫必须移动 2.农夫移动的东西与农夫必须在同一岸,但农夫可不带东西独自移动 3.此种
·
2015-11-02 09:18
数据结构
c++基本特性
C语言是一个结构化语言,它的重点在于
算法与数据结构
。C程序的设计首要
·
2015-11-01 15:57
C++
数据结构之败者树
数据结构之败者树 分类:
算法与数据结构
2011-10-21 14:07 138人阅读 评论(1) 收藏 举报 败者树原理 2个子结点比较后的败者放入它们的父结点
·
2015-11-01 14:18
数据结构
定义判断
每日练习
及精解
【例题】财产处分行为:是指直接发生财产权移转或消灭效果的行为。财产处分行为的结果是使权利的移转,权利内容的缩小或改变,权利上设定负担以及权利消灭等。 根据上述定义,下述行为中不属于财产处分行为的是( ) A.为担保一笔债务,甲公司将自己所有的房产抵押,抵押行为使甲公司对该房产的所有权受到限制 B.乙抛弃自己的电视机,抛弃行为使乙对该电视机的所有权消灭 C.丙与丁订立合同,出卖丙
·
2015-10-31 19:48
判断
类比推理
每日练习
及精解20110830
【例题】股票:证券 A.电脑病毒:程序 B.粮食:谷物 C.操作系统:电脑 D.军人:警察 【例题】骨骼:肌肉 A.齿轮:发条 B.表针:表盘 C.果核:果皮 D.轮胎:汽车 【例题】近视:眼镜 A.聋哑:手语 B.中风:针灸 C.咳嗽:糖浆 &nb
·
2015-10-31 19:46
类
定义判断
每日练习
及精解20110829
【例题】生产销售伪劣产品罪是指生产者或销售者故意在产品中掺杂、掺假、以次充好、以假充真或者以不合格产品冒充合格产品,销售金额五万元以上的行为。 下列属于生产销售伪劣产品罪的是( )。 A.赖某、宣某经商量用化工原料二氧化硒掺过硫酸铵后当作纯二氧化硒出售,以每公斤430元的合同价格售出425公斤 B.陈某以假金项链冒充纯金项链出售,每条金项链24克,价值人民币4600元,共售出三条 C
·
2015-10-31 19:43
判断
求已知N个数中第k小的数
算法与数据结构
,属于IT技能中较“高雅”的一类,所谓阳春白雪、曲高和寡,往往只有大公司才对此有兴趣
·
2015-10-31 11:38
ACM/ICPC学习新人向导新手必读[转--算法学习推荐]
大家都是抱着对
算法与数据结构
极大的兴趣才参加集训的,我们也希望大家学有所成,但是刚刚接触信息学领域的同学往往存在很多困惑,不知道从何入手学习,在这篇向导里,我希望能将自己不多的经验与大家分享,希望对各位有所帮助
·
2015-10-31 11:05
ICPC
01.由一个程序开始(一)
就是要把我们大学所学的离散数学,
算法与数据结构
,操作系统,计算机体系结构,编译原理等课 程学好,对计算机的体系,CPU本身,操作系统内核,系统平台,面向对象编程,程序的性能等要有深层次的掌握.
·
2015-10-31 11:09
程序
费用流:餐巾计划
毕竟只想把这里当作个人关于
算法与数据结构
/算法竞赛相关的知识整理的地方,不想弄得太杂、太乱。但是仰慕这道题很久了,而且为了这道题思路确实很巧妙。
·
2015-10-31 11:53
计划
《Delphi
算法与数据结构
》学习与感悟[7]: 链表与数组的异同
首先, 上一个例子, 用数组也可以实现, 并且更简单: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm)
·
2015-10-31 10:31
Delphi
《Delphi
算法与数据结构
》简介及下载
相比其他编程语言, Delphi 的名著可不算多呀; Julian Bucknall[巴克纳尔(美)] 所著的《Delphi
算法与数据结构
》就是不可多得的一本!
·
2015-10-31 10:30
Delphi
《Delphi
算法与数据结构
》学习与感悟[6]: 一个简单的"单向链表"
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Butt
·
2015-10-31 10:30
Delphi
《Delphi
算法与数据结构
》学习与感悟[3]: 获取一个字节中非空位的个数
一个字节有 8 个位, 这些位可能是 0 也可能是 1; 现在要算出一个字节中是 1 的位共有多少个. 第一种方法是一个函数; 第二种方法笨了点, 是先把 256 种可能值给一个数组, 随时调取. 第一种方法虽然灵巧, 但不如第二种方法快(作者书中说: 在非特殊情况下, 一般要快到 10 倍左右); 第二种方法虽然快捷, 并且使用方便, 但要以 256 个字节的数组空间为代
·
2015-10-31 10:30
Delphi
读《
算法与数据结构
---c语言描述》
说来惭愧,这本书陆续读了很多很多次次了,却从来没有读完过。在学校的时候,多次下决心读完,2011年也有一次,这次总算把这本书看完了(从2011年11月开始的,虽然仍有很多页是翻过去的)。 这本书实在是一本特别枯燥又不知道有没有用的书,我多次强迫自己,却始终没有读完。在学校上这门课时,我实在觉得这门课没有什么意义,几乎没有认真上过一
·
2015-10-31 09:35
数据结构
关于#/##在宏定义中的用法
uid=20792262&do=blog&id=201691 分类:
算法与数据结构
第1篇 在C/C++的宏定义中,#/##存在特殊的作用
·
2015-10-31 09:23
用法
算法与数据结构
(二):排序
趁着需要面试百度的机会,复习了常用的排序方法。 1、快速排序 平均时间复杂度:O(nlogn),最差情况时间复杂度:O(n^2),即序列以有序的情况 空间复杂度:O(1),不需要开辟额外的空间 实现细节:递归的分而治之, 在每一个递归中,将最后一个数作为比较数mid,pa指示小于的部分,pb指示大于等于mid的部分。 当pa=pb时,比较结束。将序列分割为小于mid、等于
·
2015-10-31 09:53
数据结构
算法与数据结构
(三)图算法
图的搜索技术是图算法领域的核心。 1、图的表示 通常采用两种方法表示一个图G=(V, E),即邻接表和邻接矩阵。 邻接表,表示稀疏图,需要的存储空间为O(V+E) 邻接矩阵,表示稠密图,需要的存储空间为O(V^2) 2、广度优先搜索 广度优先搜索是Prim最小生成树算法和Dijkstra单源最短路径算法中的主要思想。广度优先搜索始终将已发现和未发现顶点之间的边界,沿其广
·
2015-10-31 09:53
数据结构
算法与数据结构
——排序(五)希尔排序
前面说的直接插入排序,在某些情况下,它的效率是很高的,比如当要排序的序列很少的时候,或者排序的序列基本有序的时候。当然在现实中,要排序的序列基本上不可能满足这样的条件,如果碰到有非常多数的大序列需要排序,而且这些序列中的数也不是基本有序的,那我们该怎么办,这时候,如果还是使用直接插入排序,那么效率就非常低,很多人会想到,能不能把直接插入
·
2015-10-31 08:13
数据结构
算法与数据结构
——排序(三)简单选择排序
我们还记得每种冒泡排序的算法吗?它的原理就是依次把每一个数与除这个数之外的其他数进行比较,然后进行交换。很显然,这个方法有一个弊病,那就是如果另外有一个数比这个数小,它们立刻交换位置,比如,如果a1与a2进行比较,发现a2比a1小,它们就进行交换,其时,这个时候根本不需要交换,因为我们是需要找到最小的数,放到最前面,而此时a2只是比a1小,我们并不能确定它就是最小的数,它
·
2015-10-31 08:13
数据结构
算法与数据结构
——排序(四)简单插入排序
直接插入排序,从名字上来看,它就是将一个数选择一个恰当的位置插入到一个有序的列表中,让插入这个数后的列表仍然是有序的。它实现起来的原理其实很简单,下面是一个简单的示意图: 我们假设有一个空列表,然后有10个数{4,2,8,0,5,7,1,3,
·
2015-10-31 08:13
数据结构
算法与数据结构
——排序(六)堆排序
在前面的排序算法里面,我们发现每次找到一个最小的数都要进行很多次的比较,比如在n个数里面,我们如果想要找到最小的数,那么就需要比较 n-1次,那么我们想,能不能减少每次比较的次数呢。 其实发现是可以的,在前面的简单选择排序算法里面,我们每次找到最小的数后,剩余的一些数,其实
·
2015-10-31 08:13
数据结构
算法与数据结构
——排序(七)归并排序
归并算法其实理解起来很容易,我们以前在学习C++的时候,肯定遇到过这样一道题目,给两个有序的列表,请把他们合并成一个列表,并且有序。相信叫大家写一个函数实现这个功能并不难。但是我们当时怎么没有想到,用这个思想,可以发明出一种排序的算法出来呢,它就是我们要学习的归并排序。 归
·
2015-10-31 08:13
数据结构
算法与数据结构
——排序(八)归并排序的非递归实现
前面我们用递归的方法实现了归并排序,递归比较占用内存空间,能不能用非递归的方法来实现归并排序呢。答案当然是可以的。 使用非递归排序的思路如下(以序列{0,4,8,9,7,1,3,9,2}为例): 1.首先s=1,把数组中数两两归并,并放入一个新数组中(一般就拿它本身的那个数组来放),如
·
2015-10-31 08:13
数据结构
算法与数据结构
——排序(十)基数排序
我们现在来学习几个线性相关的排序算法,首先是基数排序。 我们平时在打扑克的时候,如果我们要对我们手里的牌进行排序,那么一般我们先会对花色排个序,然后在每个花色里面,再来对数字进行排序。当给一系列数字给我们的时候,我们有排序的时候,也会先按照百位数(假如最高是百位数)排序,如果对百位数相同的再用十位
·
2015-10-31 08:13
数据结构
算法与数据结构
——排序(二)冒泡排序(上)
排序里面最简单的一种排序就是冒泡排序。冒泡排序,这个名字叫得非常形象,它的意思就是整个排序的过程就好像一个气泡从水底慢慢升起一样。气泡从水底升起的过程,气泡越变越大。所以一次冒泡排序,要么最大的数跑到最顶端去了,要么最小的数跑到最顶端去了。下面的例子中,我们以冒泡排序一次,最小的数跑到顶端去为例。图中左边为顶端,右边为底端。 &nbs
·
2015-10-31 08:12
数据结构
算法与数据结构
——排序(二)冒泡排序(中)
上一种冒泡算法,是从数组的第一个位置开始,把每个位置的数与其他剩下的数进行比较,如果后面的数有比它小的(或者大的,下面都以小的为例)就进行交换。通过分析这个过程,可以知道,这种算法,每次冒泡的结果都是把所有数里面最小的那一个提到了最前面,而其他的数的顺序都是杂乱无章的。第二次就把第二小的数提取到最前面。每次排序后,对后面的排序都没有帮助。我们就会想,有没有一种
·
2015-10-31 08:12
数据结构
读《程序设计实践》之二
算法与数据结构
1. 检索 顺序检索。逐个查看每个数据元素是不是要找的那一个。顺序检索非常简单,但是它的工作量与被检索数据的数目成正比。这种检索也成为线性检索。 二分检索。做检索的表格本身必须是排好序的,程序还必须知道表格的长度。算法复杂度:log(n)。 // lookup: binary search for value in arr; returen it's index
·
2015-10-30 14:39
数据结构
C++11写算法之顺序查找
从这篇博文起,将尝试使用C++11来写常用
算法与数据结构
。
·
2015-10-30 13:55
C++
C编译: 动态连接库 (.so文件)
在“纸上谈兵:
算法与数据结构
”中,我在每一篇都会有一个C程序,用于实现算法和数据结构 (比如栈和相关的操作)。
·
2015-10-30 10:57
文件
纸上谈兵:
算法与数据结构
算法和数据结构是计算机科学的核心内容。作为程序员,编程是我们的实战项目。然而,写出程序还不够。一个程序在应对一些大型而复杂的情况时,会耗费大量的时间。我们可以很容易写出一个从文件中找到一个词的程序,比如逐词扫描,看是否相符。但如果我们的文件有几十TB,而且要从文件中找到上百个词,逐个扫描的办法就几乎不可行。我们需要优化程序,以便我们的程序可以应对复杂问题。算法研究解决问题的方法,而数据结构则是设计
·
2015-10-30 10:51
数据结构
vi
每日练习
vi 1. 4 空格 2. ctrl + b, ctrl + f 3. 0 $ 4. 1G gg G 5. 10G 6. 10 回车 7. &nbs
·
2015-10-27 16:37
vi
算法与数据结构
——排序(九)快速排序
终于轮到我们的终极算法了,快速排序顾名思义,速度肯定是很快的。它的基本思想是:把一个待排序列分隔成两个独立的序列,其中一个序列中的数比关键字小,另一个序列中的数比关键字大,然后对这两个序列再进行排序,最后使整个序列有序。 这个算法里面有两个关键点,一是怎样选择这个关键字?二是怎样把一个
·
2015-10-27 14:17
数据结构
算法与数据结构
——排序(一)概述
最近在学习《大话数据结构》这本书,以前总是以为看懂了就以为自己明白,其实不然,等到真正叫把书本关上,要自己来写的时候,发现自己还是不会,所以在这次学习的过程中,为了达到比较好的效果,每次理解了某个算法之后,就关上书,自己来实现一遍,并且把每个算法的思路用自己的话总结出来。以此来加深自己的理解,接下来的一系列都是我在学习《大话数据结构》这
·
2015-10-27 14:16
数据结构
算法与数据结构
——排序(二)冒泡排序(下)
在上一篇里面说了,正宗的冒泡排序是相邻的两个数进行比较,如果符合条件,那么就进行交换,这样第一次比较完成后的结果可以对第二次比较有帮助。在有很多数据的时候,这种排序算法的效率会高一些。但是这种算法还有没有改进的地方呢? 我们会发现,如果把一个有序的序列用这种方法去进行排序,
·
2015-10-27 14:16
数据结构
算法与数据结构
题目的 PHP 实现:栈和队列 由两个栈组成的队列
思路:同样使用PHP的数组模拟栈。栈的特点是先进后出,队列的特点是先进先出,可以用第一个栈(StackPush)作为压入栈,压入数据的时候只往这个栈中压入数据,第二个栈作(StackPop)为弹出栈,在弹出数据的时候只从这个栈中弹出。在弹出之前,把压入栈的数据全部弹出至弹出栈,再把弹出栈的数据弹出。代码:1StackPush,$pushInt); 12} 13 14//将数据从压入栈倒入弹出
黄棣-dee
·
2015-10-26 19:00
程序员代码面试指南:IT名企
算法与数据结构
题目最优解-字符串问题:C/C++语言实现
程序员代码面试指南-字符串问题:C/C++语言实现以下程序运行环境:VC6++看到左老师出的书:程序员代码面试指南:IT名企
算法与数据结构
题目最优解,都是Java实现,为了刷题,但是职位是C/C++,以下是我用
zhangjikuan
·
2015-10-24 10:00
算法
程序员
字符串
cc++
代码面试指南
.net泛型理解
泛型的主要思想是将
算法与数据结构
完全分离开,使得一次定义的算法能作用于多种数据结构,从而实现高度可重用的开发。
·
2015-10-22 21:52
.net
算法与数据结构
题目的 PHP 实现:栈和队列 设计一个有 getMin 功能的栈
刚入手了一本《程序员代码面试指南》,书中题目的代码都是Java实现的,琢磨着把这些代码用PHP敲一遍,加深印象。题目:设计一个有getMin功能的栈——实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作要求:①pop、push、getMin操作的时间复杂度都是O(1)②设计的栈类型可以使用现成的栈结构 PHP当中没有栈和队列的概念(5.3以后增加了SplStack类),但是
黄棣-dee
·
2015-10-22 21:00
算法与数据结构
的本质
何谓数据结构数据结构是什么?它是组织内存中对象或基本类型数值(primtivetypes)的形式,为了更好地组织和使用这些对象而慢慢发展起来的固有形式,惯用法(idioms),是计算机开发领域用处理数据的方法来解决问题的一套科学.对数据结构知识的系统整理最初源于一个科学者的一本书1.以上是常见于一些教科书上对数据结构与算法的定义。所有这些,是针对数据结构已经被具化了,跟语言结合之后的概念,它其实首
EbowTang
·
2015-10-22 12:00
数据结构
算法
算法与数据结构
之栈的顺序存储
#include#include#include#definemaxsize50typedefintelemtype;typedefstruct//定义{elemtypedata[maxsize];inttop;}sqstack;voidinitstack(sqstack*&s)//初始化{s=(sqstack*)malloc(sizeof(sqstack));s->top=-1;}voidpus
qq_21792169
·
2015-10-21 13:00
算法与数据结构
之循环链表
循环链表是指在单链表的最后一个节点链域值不是NULL,而是指向头节点,整个链表形成一个环。h->next=h;循环链表的操作和单链表基本一致,但是需要在算法中的循环条件p或者p->next是否为空改成是否等于头指针。下面以循环链表中查找值为x的结点为例来讨论如何实现算法。Lnode*get(Lnode*h,elemtypex){ Lnode*p; p=p->next;while(p!=h&&x!
qq_21792169
·
2015-10-21 13:00
排序算法实践之旅
算法与数据结构
——排序(一)概述
算法与数据结构
——排序(二)冒泡排序(上)
算法与数据结构
——排序(二)冒泡排序(中
·
2015-10-21 13:31
排序算法
上一页
51
52
53
54
55
56
57
58
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他