`
hnjzsyjyj
  • 浏览: 28828 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Snake algorithm java implementation

阅读更多
转载自http://www.codeweblog.com/snake-algorithm-java-implementation/#

public class test {

        /**
         *  Describes a  :
         * 5 Line 5 column snake-like algorithm  
         * (0,0)(4,4)- Line 1 and countdown  1 Difference between rows  4
         * (1,0)(4,3)(0,1)(3,4)- Line 2 and countdown  2 Difference between rows  3
         * (0,2)(2,4)(1,1)(3,3)(2,0)(4,2)- The first 3 rows and countdown  3 Difference between rows  2
         * (3,0)(4,1)(2,1)(3,2)(1,2)(2,3)(0,3)(1,4)- The fourth row and countdown  4 Difference between rows  1
         *  Section 5 behavior segmentation line  
         *  According to the above description, obtain the following algorithm  
         */
        /**
         *  Description of second  :
         * dao Variable functions  :
         *  The main calculation downward diagonal coordinate values  .
         *  For example,  :5 Line 5 columns   
         * {
                   (0,0)                  -- Known as line  0
                   (1,0)(0,1)             -- Known as line  1
           (0,2)(1,1)(2,0)        -- Known as line  2
           (3,0)(2,1)(1,2)(0,3)   -- Known as line  3
           }--- All coordinates on the diagonal  
       (0,4)(1,3)(2,2)(3,1)(4,0)--- Here called diagonal  4
           {
                  (4,1)(3,2)(2,3)(1,4)  -- Known as line  5
                  (2,4)(3,3)(4,2)       -- Known as line  6
                  (4,3)(3,4)            -- Known as line  7
                  (4,4)                 -- Known as line  8
           }--- Downward diagonal all coordinates  
           dao The maximum value of the variable is line  * Column  
            Get all the coordinates of the diagonal values by dao variables and  temp Variable functions  
         */
        /**
         * @param irow  Line  
         * @param icol  Column  
         * @param sheLength  Sections snake segment, which is line with diagonal  
         */
        public void sheAglo(int irow,int icol,int sheLength){
                int row = 0,col = 0;
                int ban = (sheLength-1)/2+1;
                int array[][] = new int[irow][icol];
                int m = 1,num = ban - 1;
                int dao = irow*icol;
                for(int i=0;i<ban;i++){
                        row = col = i;
                        int  temp = dao-i;// The first n rows downward diagonal values from  dao-i Start  
                        if(i%2==0){             // Handling double-row    
                                /**
                                 * (0,0)
                                 * (0,2)(1,1)(2,0)
                                 *  Characteristic is the increment, decrement column rows  
                                 */
                                while(col>=0){
                                        System.out.print("["+(i-col)+"]["+(col)+"]("+m+"),");
                                        if(i!=ban-1){// This is the diagonal  
                                                System.out.print("["+(i-col+num)+"]["+(col+num)+"]("+(temp++)+"),");
                                        }
                                        array[i-col][col] = m;
                                        dao--;
                                        col--;
                                        m++;
                                }
                        }else if(i%2!=0){// Handle single-line  
                                /**
                                 * (1,0)(0,1)
                                 * (3,0)(2,1)(1,2)(0,3)
                                 *  Characteristics are diminishing, incrementing column rows  
                                 */
                                while(row>=0){
                                        System.out.print("["+(row)+"]["+(i-row)+"]("+m+"),");
                                        if(i!=ban-1){
                                                System.out.print("["+(row+num)+"]["+(i-row+num)+"]("+(temp++)+"),");
                                        }
                                        array[row][i-row] = m;
                                        dao--;
                                        row--;
                                        m++;
                                }
                        }
                        num--;
                        System.out.println();
                }
        }
        
        public static void main(String args[]){
                test test = new test();
                test.sheAglo(6,6,11);
        }
        
}



另外一个重要网站:http://users.ecs.soton.ac.uk/msn/book/new_demo/Snakes/
分享到:
评论

相关推荐

    蛇形算法snake algorithm

    蛇形算法,也被称为Snake算法,是由G.M.Kass、W.R.Terzopoulos和K.Blake在1988年提出的一种图像处理方法,主要用于图像分割和边界提取。该算法是主动轮廓模型的一种,其核心思想是通过迭代优化一个能量函数来寻找...

    The Levenberg-Marquardt algorithm=Implementation and theory

    ### Levenberg-Marquardt算法:实现与理论 #### 引言 Levenberg-Marquardt(LM)算法是一种广泛应用于非线性最小二乘问题求解的有效方法。该算法结合了梯度下降法和高斯-牛顿法的优点,通过调整参数来平衡这两者...

    Algorithm-algorithm-implementation-in-java-javascript-scala.zip

    Algorithm-algorithm-implementation-in-java-javascript-scala.zip,本项目的目标是提供Java、JavaScript和斯卡拉的可重用算法集合。,算法是为计算机程序高效、彻底地完成任务而创建的一组详细的准则。

    Recurrent Reinforcement Learning Algorithm Matlab Implementation

    Recurrent Reinforcement Learning Algorithm Matlab Implementation.zip

    snakefuanfa.rar_Snake!_snake_snake algorithm_snake算法 matlab_图像处理

    SNAKE算法代码,图像处理,matlab程序。

    traditionSnake1.0.rar_snake algorithm_snake matlab_traditionSnak

    《传统Snake算法在图像分割中的应用与实现》 Snake算法,又称为Active Contour Model(活动轮廓模型),是由Kass、Witkin和Terzopoulos于1988年提出的一种图像分割方法。该算法主要利用能量最小化原理,通过迭代的...

    Java+algorithm.rar_ Java algorit_Algorithm JAVA_algorithm_java

    Java算法大全是一个集合了多种Java实现的算法资源,旨在帮助开发者深入理解和掌握算法。这个压缩包包含了一些关键的算法解释和实例,对于学习和提升Java编程能力,特别是算法设计与分析方面,非常有帮助。 首先,...

    Algorithm-java-algorithms-implementation.zip

    本文将深入探讨Java语言中的算法和数据结构实现,以"Algorithm-java-algorithms-implementation.zip"为例,揭示其中蕴含的丰富知识。 一、算法概述 算法,简单来说,就是解决特定问题的步骤或过程。它定义了一组...

    Genetic Algorithm Implementation.rar_algorithm genetic_genetic a

    Genetic Algorithm Implementation

    distance vector algorithm implementation

    distance vector algorithm implementation in C. you can simulate router using local device's ports. Makefile is included for UNIX/LINUX users.

    algorithm-essentials-java

    根据提供的文件信息,“algorithm-essentials-java”似乎是一份关于Java编程语言中算法实现的文档。下面将基于文档中提到的各个部分来详细介绍其中涉及的关键知识点。 ### 引言 在计算机科学领域,算法是解决问题...

    ars.scr.zip_ant_ant algorithm_ant algorithm java_ars.scr_蚂蚁

    【标题】"ars.scr.zip_ant_ant algorithm_ant algorithm java_ars.scr_蚂蚁" 提到的是一个关于JAVA实现的蚂蚁算法(Ant Colony Optimization Algorithm,简称ACO)的压缩包资源。蚂蚁算法是一种仿生优化算法,它受到...

    DS and Algorithm Ananlysis in Java

    《DS和Algorithm Analysis in Java》是一门针对数据结构与算法分析的课程,主要使用Java语言进行教学。课程的目标是帮助学生理解和分析不同数据结构和算法的时间复杂度与空间复杂度,以便于在实际问题中有效地应用。...

    Genetic-Algorithm-Implementation-Using-Matlab_matlab_

    通过《Genetic Algorithm Implementation Using Matlab》这份资料,读者不仅可以理解遗传算法的基本概念,还能掌握在Matlab中实现这一算法的具体步骤,从而在实际问题中应用遗传算法,解决复杂优化问题。无论你是...

    data structure and algorithm java

    - 0.18 关联数组实现(Associative array implementation):关联数组是一种使用键值对存储数据的数据结构,在Java中通常由Map接口的实现类如HashMap等来体现。 - 2.1 到2.3 包含了三章内容,依次是GNU通用公共许可...

    HungarianAlgorithm.java

    使用java语言实现匈牙利算法。可实现任务最优分配,以及旅行商问题

    Java--ecc-algorithm.rar_ecc_ecc algorithm java_ecc java_ecc加密_ja

    **Java ECC算法详解** 在密码学领域,椭圆曲线加密(ECC,Elliptic Curve Cryptography)是一种基于数学难题的公钥加密技术,因其高效性和安全性而备受关注。Java作为广泛使用的编程语言,提供了对ECC的支持,使得...

    Algorithm-A-Star-Java-Implementation.zip

    在这个"Algorithm-A-Star-Java-Implementation.zip"文件中,我们很显然会看到一个使用Java语言实现的A*算法。 首先,我们要理解A*算法的基本原理。它以启发式函数(h(n))和实际路径成本(g(n))为基础,其中g(n)是从...

    DELPHI Rijndael algorithm implementation

    DELPHI Rijndael algorithm implementation~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~The implementation is based on an original code.The CBC-mode bug fixed.As the example of API usage is complemented by simple ...

Global site tag (gtag.js) - Google Analytics