数据结构与算法
XuTianXiang_JIANGSU
这个作者很懒,什么都没留下…
展开
-
.net 数据结构与算法基础:高级排序
希尔排序基本思想先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成(n除以d1)个组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2计算方法 属于插入类排序,是将整个无序列分割成若干小的子序列分别进行插入排序 排序过程:先取一个正整数d1数组元素放一组,组内进原创 2012-11-24 18:36:47 · 809 阅读 · 0 评论 -
lua 算法题集(1)
此处收集一些简单的算法以及其lua的简单实现。(提供的实现代码并非为最优或最佳,也可能遗漏了某些特殊情形,因此仅供参考。若存在问题,可以留言交流)1 数据结构相关1.1 数组1 将一个递增数组前后部分互换,查找数组的最小数local t = {3,4,5,12,45,1.1,1.5,2} -- 一般情形local t = {1,0,1,1,1} -- 特殊情形 只能走顺序查找function原创 2017-10-17 16:57:20 · 2366 阅读 · 1 评论 -
《编程之美》读书笔记(1)--中国象棋将帅问题
中国象棋将帅问题由于比较简单,该问题的具体描述是:(根据中国象棋的基本原则)在只有将帅棋盘上,找出所有双方可以落子的位置(将帅不能碰面),但只能使用一个变量。直觉上我们想到,只要遍历将帅所有可能的位置,去除将帅冲突的位置即可。可见,剩下的问题就在于如何使用一个变量来做二重循环的遍历。书中解法一给出的方法是将一个Byte变量拆成两个用,前一半代表“帅”可以走的位置,后一个变量代表“将”可以走的位置(转载 2015-07-29 16:58:40 · 497 阅读 · 0 评论 -
程序员笔试面试算法题系列--数组
题目来源于《程序员面试笔试宝典》、各大博客以及历年真题,供大家查漏补缺。(持续更新中)1 递归实现数组求和void Sum(int a[],int n,double& sum)每次递归,在sum上累加,同时n自减,当n2 利用一个for循环打印二维与三维数组 double total=row*col;for(int k=0;k<total;k++){ printf("%d原创 2015-07-27 20:19:22 · 691 阅读 · 0 评论 -
.net 数据结构与算法基础:泛型链表使用
链表链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。由于不必按顺序存储,链表在插入的时候可以达到O⑴的复杂度,比另一种线性表:顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而顺序表相应的时间复杂度分别是O(logn)和O⑴。使用链表结构可以克服数组原创 2012-11-23 20:19:45 · 960 阅读 · 0 评论 -
.net 数据结构与算法基础:Hashtable
C#中HashTable的用法哈希表(Hashtable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,通过哈希函数Key与数组中某一位置相对应,因此key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtab原创 2012-11-23 16:25:23 · 796 阅读 · 0 评论 -
.net 数据结构与算法基础:二叉树
二叉树简介 在计算机科学中,二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆或是二叉排序树。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2的 i -1次方个结点;深度为k的二叉树至多有2原创 2012-11-24 10:53:50 · 1460 阅读 · 0 评论 -
.net 数据结构与算法基础:泛型编程、时间测试
泛型编程:问题提出:面向对象编程存在一个众所周知的问题:“代码膨胀”,对于方法或方法集合,为了说明其所有可能的返回类型需要进行多次冗余性编写,例如:对于一个值交换函数,函数处理值可能为字符型,也可能为整数型,或是浮点型,那么为满足不同功能需要不断重写相同功能代码,为解决此问题,我们提出了泛型编程。解决方法:泛型类型提供占位符static void swap(re原创 2012-11-21 20:59:46 · 922 阅读 · 0 评论 -
.net 数据结构与算法基础:图的操作
定义图是由结点的有穷集合V和边的集合E组成。其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,边是顶点的有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关系。在有向图中,通常将边称作弧,含箭头的一端称为弧头,另一端称为弧尾,记作,它表示从顶点vi到顶点vj有一条边。若有向图中有n个顶点,则最多有n(n-1)条弧,我们又将具有n(n-1)条弧原创 2012-11-27 11:17:38 · 1116 阅读 · 0 评论 -
cocos2dx - lua 自定义控件及动画控制(2) ---- 基于Action实现循环滚动效果
1. lua层简化版动画系统cocos2dx中的Action系统能实现一般性的动画控制。但是对于一些特殊的动画需求,如何处理?一种方法是在C++层派生新的Action子类,继承原有机制,使用方法与一般Action无异。但很多时候修改或增加C++层代码并不方便,能否直接在lua层定制属于自己的Action?答案是肯定的,但是lua层的实现不能简单继承c++层的Action,因为它无法修改Acti原创 2017-11-21 10:28:08 · 1015 阅读 · 0 评论