电商网站开发需要多少钱网站开发合同官司

web/2025/9/30 1:20:02/文章来源:
电商网站开发需要多少钱,网站开发合同官司,python编程软件下载,中信建设公司领导班子java中使用es的dsl我们大多数人已经编写了一些处理图论算法的程序#xff0c;例如找到两个顶点之间的最短路径#xff0c;找到给定图的最小生成树等等。 在这些算法的每一种中#xff0c;表示图形的编程方式是使用邻接矩阵或邻接列表 。 两者都不是定义图形输入的非常直观的… java中使用es的dsl 我们大多数人已经编写了一些处理图论算法的程序例如找到两个顶点之间的最短路径找到给定图的最小生成树等等。 在这些算法的每一种中表示图形的编程方式是使用邻接矩阵或邻接列表 。 两者都不是定义图形输入的非常直观的方法。 例如如果未在正确的列和行中进行输入则邻接矩阵可能会导致错误。 此外在运行时您不太确定哪个行/列代表哪个边当涉及到具有大量顶点的图形的输入时事情会变得更加复杂。 在我的工程研究期间我已经用Java实现了许多图形算法并且在所有这些图形算法中我都嵌套了for循环以获取邻接矩阵输入。 最近当我阅读Martin Fowlers的DSL书籍时我想到了创建DSL来提供图形输入的想法即DSL它将允许用户指定顶点边及其权重。 我选择了已实现的图形算法只是去除了邻接矩阵输入而是使用了我创建的DSL。 该算法就像一个魅力。 在这篇文章中我将通过采用不同的图形输入并为它们显示DSL来显示DSL的有效语法。 然后我将向您展示我创建的库该库由图的语义模型DSL的解析器和词法分析器以及一个简单的构建器API组成该API从DSL脚本中填充语义模型。 解析器和词法分析器是使用ANTLR生成的因此该库要求ANTLR Jar在类路径中可用。 最后我将展示如何使用Kruskals算法将该DSL用于查找最小生成树。 DSL语法和一些示例 下图g1的DSL 图表G1 Graph {A1 - B2 (12.3)B2 - C3(0.98)C3-D4 (2)D4 -E5 (12.45) } 请注意上述DSL中的元素之间存在不同的空间。 这只是为了显示可以编写DSL的不同方式。 下图g2的DSL为 图G2 Graph{A1 - B2 (12.3)B2 - C3 (0.98)C3 - D4 (2)E5 } 请注意“图形”和“ {”之间没有空格。 这只是为了显示它的不同编写方式。 下图g3的DSL为 图G3 Graph {A - B (12.3)B - C (0.98)C - D (2)D - E (12.45) } 现在显示一些无效的DSL脚本 Graph {1A - B (12.3)B - C (0.98) } 上面的无效因为顶点名称以数字开头。 Graph { } 上面的方法无效因为Graph希望至少定义一个顶点。 但是它可以具有零个或多个边。 基于DSL的图形输入库 我已经利用ANTLR来完成为我为DSL定义的语法创建词法分析器和解析器的所有任务。 这样我不必担心创建解析器或担心从DSL输入脚本创建令牌。 解析器和词法分析器类以及语义模型类一起打包到一个jar中并且必须将这个jar与ANTLR jar一起包括在内以利用编写用于图形输入的DSL来使用。 DSL jar的结构可以在下面的屏幕截图中看到 GraphDSL Jar 图形包中的类与语义模型相对应即它们是通用类可以在不考虑是否有人在使用DSL的情况下使用。 graph.dsl中的类对应于ANTLR为lexer和parser生成的Java类。 ANTLR用于词法分析和解析的语法为 grammar Graph;graph: GRAPH_START (edge|vertex) GRAPH_END; edge: (vertex) TO (vertex) weight; vertex: ID; weight: ( NUM ); GRAPH_START : Graph([ ])*{; GRAPH_END : }; WEIGHT_START: (; WEIGHT_END: ); TO: -; ID: ^[a-zA-Z][a-zA-Z0-9]*; NUM: [0-9]*[.]?[0-9]; WS: [ \t\r\n] - skip; 上面的语法有待改进但作为我的第一次尝试我试图将其保持在这个水平。 从此处下载DSL jarGraphDSL.jar。 从此处下载ANTLR jarantlr-4.1-complete.jar。 注意此DSL是使用ANTLR版本4开发的。 对于使用ANTLR的外部DSL的推荐书是《 语言实现模式创建自己的域》特定和通用编程语言 Kruskals算法找到最小生成树 用于测试此算法实现的图形为 样本图 和DSL相同的是 Graph {A - B (7)B - C (8)A - D (5)B - D (9)D - E (15)D - F (6)E - F (8)E - C (5)B - E (7)E - G (9)F - G (11) } 让我们看一下实现 package kruskalsalgo;import java.util.ArrayList; import java.util.Collections; import java.util.Scanner; import graph.Edge; import graph.Graph; import graph.Vertex; import graph.GraphBuilder; import java.io.IOException; import java.util.Comparator;public class KruskalsAlgorithm {public static void main(String[] args) throws IOException {//Load the graph data from the DSLGraph g new GraphBuilder().buildGraph(graph.gr);ArrayListSet forest new ArrayListSet();ArrayListEdge finalEdgeSet new ArrayListEdge();//Creating disjoint set of vertices which represents the initial forestfor (Vertex v : g.getVertices()) {Set newSet new Set();newSet.getVertexList().add(v);forest.add(newSet); //Creating Disjoint Sets}//sort the edges in the graph based on their weightCollections.sort(g.getEdges(), new ComparatorEdge(){public int compare(Edge o1, Edge o2) {return o1.getWeight().compareTo(o2.getWeight());}});for (Edge edge : g.getEdges()) {//Find in which set the vertices in the edges belongint rep1 Set.findRep(edge.getFromVertex(), forest);int rep2 Set.findRep(edge.getToVertex(), forest);//If in different sets then merge them into one set and pick the edge.if (rep1 ! rep2) {finalEdgeSet.add(edge);Set.Union(rep1, rep2, forest);}}System.out.println(The Minimum Spanning tree is);for (Edge edge : finalEdgeSet) {System.out.println(Vertex: edge.getFromVertex().getLabel() to Vertex: edge.getToVertex().getLabel());}System.out.println();}//End of Main }class Set {private ArrayListVertex vertexList;private int representative;static int count;public Set() {vertexList new ArrayListVertex();this.representative (Set.count);}//Find the set identifier in which the given vertex belongs to.public static int findRep(Vertex vertex, ArrayListSet forest) {int rep 0;for (Set set : forest) {for (Vertex v : set.getVertexList()) {if (v.getLabel().equals(vertex.getLabel())) {return set.getRepresentative();}}}return rep;}//Find the set given the step identifier.public static Set findSet(int rep, ArrayListSet forest) {Set resultSet null;for (Set set : forest) {if (set.getRepresentative() rep) {return set;}}return resultSet;}//Merge the set into another and remove it from the main set.public static void Union(int rep1, int rep2, ArrayListSet forest) {Set set1 Set.findSet(rep1, forest);Set set2 Set.findSet(rep2, forest);for (Vertex v : set2.getVertexList()) {set1.getVertexList().add(v);}forest.remove(set2);}public ArrayListVertex getVertexList() {return vertexList;}public int getRepresentative() {return representative;} } 上面的代码从dslgraph.gr加载图形数据。 DSL脚本必须放置在资源包中以便DSL库可以找到它。 上面代码的输出 The Minimum Spanning tree is Vertex: A to Vertex: D Vertex: E to Vertex: C Vertex: D to Vertex: F Vertex: A to Vertex: B Vertex: B to Vertex: E Vertex: E to Vertex: G 并以图解方式显示相同的内容 最小生成树 参考来自CG的合作伙伴 Mohamed Sanaulla在Experiences Unlimited博客上的基于DSL的方法用于在基于图论的Java程序中输入图数据 。 翻译自: https://www.javacodegeeks.com/2013/07/dsl-based-approach-to-input-graph-data-in-graph-theory-based-java-programs.htmljava中使用es的dsl

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/84176.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

有口碑的郑州网站建设企业网站托管技巧

目录 1.ChatGPT 是什么 2. ChatGPT 的发展史 3.ChatGPT 优缺点 4.ChatGPT 在未来生活中的发展趋势和应用 5.ChatGPT经历了几个版本 1.ChatGPT 是什么 ChatGPT 是一个在线聊天机器人,可以与使用者进行语义对话和提供帮助。它可以回答各种问题,提供建议…

微信php网站开发流程娄底seo

二叉树第k个大的节点 二叉树文章列表: 数据结构与算法–面试必问AVL树原理及实现 数据结构与算法–二叉树的深度问题 数据结构与算法–二叉堆(最大堆,最小堆)实现及原理 数据结构与算法–二叉查找树转顺序排列双向链表 数据…

深圳附近做个商城网站找哪家公司好wordpress网站上线

P1736 创意吃鱼法 题目描述 回到家中的猫猫把三桶鱼全部转移到了她那长方形大池子中,然后开始思考:到底要以何种方法吃鱼呢(猫猫就是这么可爱,吃鱼也要想好吃法 ^_*)。她发现,把大池子视为01矩阵&#xff0…

想要个免费网站推上网站

目录 一,代理模式和适配器模式区别 二,代理模式 三,特点 四,组成部分和实现步骤 五,案例 六,应用场景 一,代理模式和适配器模式区别 意图:代理模式控制访问并可能添加额外功能…

郑州网站建设维护公司客户网站开发全流程

文章目录 🎍序言🌳加法计算器🚩准备工作🚩约定前后端交互接⼝🌲后端服务器代码的书写 🌴用户登录🚩效果展示🚩准备工作🚩约定前后端交互接⼝🎈需求分析&#…

做网站需要什么图片广州番禺最新通告

谈谈 final、finally、 finalize 有什么不同?final 可以用来修饰类、方法、变量,分别有不同的意义,final 修饰的 class 代表不可以继承扩展,final 的变量是不可以修改的,而 final 的方法也是不可以重写的(o…

黄岩网站开发网站制作的收费

列表滑动性能优化是一个老生常谈的问题,最近在做项目的时候又遇到了列表滑动卡顿的问题,我在经过多次思考和尝试后,终于找到了滑动卡顿的元凶,于是将经验总结下来。ViewHolder先说说最常规的ViewHolder。ViewHolder的出现是为了解…

海南省建设网站的公司深圳网站seo地址

题目 产品数据表: Products 写一段 SQL来查找在 2019-08-16 时全部产品的价格,假设所有产品在修改前的价格都是 10 。 以 任意顺序 返回结果表。 查询结果格式如下例所示。 示例 1: 解题思路 1.题目要求我们查找在 2019-08-16 时全部产品的价格,假设所…

外贸公司访问国外网站网站做优化

问题描述: 农夫John的一头牛逃跑了,他想要将逃跑的牛找回来。现假设农夫John和牛的位置都在一条直线上,农夫John的初始位置为N(0≤N≤100,000),牛的初始位置为K(0≤K≤100,000)。农夫…

网站内链调整专业高端网站设计首选

paramiko模块 介绍: paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的paramiko来现实。 2. 下载安装 pip3 install paramiko #在pytho…

注册个空壳公司需要多少钱企业网站seo优化公司

GitHub 面对学生推出了学生认证服务,通过认证后就可以得到学生包,学生包大概有十几项优惠,包括 DATADOG Pro 帐户、免费两年的10台服务器,Icons8 3个月的带图标,照片,插图和音乐订阅服务、JETBRAINS 专业桌…

建设监督网站搭建网站的过程

JS文件命名 一般采用的是小驼峰命名法,如 pieChartHelp 第一个单词小写,其他单词首字母大写 Components 文件命名 一般采用的是大驼峰命名法,如PieChart 所有单词的首字母大写 常量命名 一般全部大写,每个单词使用分隔符隔开&…

福田网站建设乐云seo建设网站可以赚钱吗

多功能复合机基于用户认证功能的实现方法 -----网络设备共享案例分析 公司需求:***是一家租售写字楼的服务性企业,主要是针对小型企业进行出租,房间有大有小,大的可以容纳5-10人,小的可以容纳1-4人左右。由于都是一些小…

北京南站地铁wordpress 大神

这里写目录标题 一、LCS 01. 下载插件二、已知一个由数字组成的列表,请将列表中的所有0移到右侧三、实现一个trim()函数,去除字符串首尾的空格(不能使用strip()方法) 一、LCS 01. 下载插件 简单 小扣打算给自己的 VS code 安装使…

提高网站排名软件怎么在搜索引擎里做网站网页

选择题 题目:中国由北而南最大规模的“移民潮”发生在()代。 题目:位于五岭之一的大庾岭道上的粤北南雄(),是移民入粤的重要中转站。 题目:汉代所置的()郡,管辖番禺.博罗…

笋岗网站建设品牌建设包括

世界棒球经典赛(WBC)作为全球最高水平的国家队棒球赛事,参赛队伍按实力、地域和历史表现可分为多个“阵营”。以下是基于历届赛事(截至2023年)的阵营划分及代表性队伍分析: 第一阵营:传统豪强&a…

a市最牛的网站竞争对手网站

近日,Sightful公司推出了一款名为Spacetop G1的革命性笔记本电脑,将AR技术与传统笔记本电脑巧妙融合,打造出令人惊叹的全新办公体验。 全球首款AR电脑上线,可投影100英寸屏幕 不同于传统笔记本电脑依赖物理屏幕显示内容&#xff0…

网站后来功能寻找做网站

jmeter对图片验证码的处理 在web端的登录接口经常会有图片验证码的输入,而且每次登录时图片验证码都是随机的;当通过jmeter做接口登录的时候要对图片验证码进行识别出图片中的字段,然后再登录接口中使用; 通过jmeter对图片验证码…

网站域名空间一年多少钱住宅设计网站推荐

你好,这里是codetrend专栏“跟着GPT学设计模式”。 引言 观察者模式(Observer Pattern)是一种行为型设计模式,它定义了对象之间的一对多依赖关系,使得当一个对象的状态发生改变时,其依赖对象都能够收到通…

网站建设流程笔记网上购物哪个商城好

3、基础类型 3.1、简单变量 变量的命名 carDrip和cardRip 或boat_sport和boats_port 此外,还有有前缀的命名,使用前缀表示数据类型。常见的前缀有:str(表示字符串)、n(表示整数值)、b(表示…