- 博客(8)
- 收藏
- 关注
原创 智能聊天机器人项目(javase + json解析 + javaHttp请求)
青云客(Qingyunke)是一款中文智能聊天机器人,类似于Siri、Alexa或Cortana等,但主要面向中文用户。青云客致力于通过自然语言处理技术,例如发送 http://api.qingyunke.com/api.php?key=free&appid=0&msg=你好。定义Parse_json接口,定义抽象方法parse_json,该方法的功能是。传入参数message,返回json格式的字符串。,创建其他类实现既可。
2024-07-03 14:08:37 484 1
原创 二叉堆(优先队列)的基本操作(c语言)
在了解二叉堆之前,先来说一下优先队列。插入和删除最小者,它的工作是找出,返回,删除优先队列中的最小者。要实现这种数据结构,除了二叉堆外还有许多方法。1,使用一个链表存储这个序列,插入直接在表头或者表尾插入既可,时间复杂度为o(1),删除最小元操作可以遍历链表,找到最小的元素,然后用链表的删除操作将其删除,时间复杂度为o(n),这样做的弊端是如果我们要频繁地删除最小元,这个办法就相对来说不太好了。2,使用二叉查找树。
2024-03-20 20:33:01 863 1
原创 二叉平衡树(AVL树)的基本操作(c语言)
用二叉查找树的基本操作,这篇文章中的插入和删除方法对一颗树进行操作时,难免会出现树形结构向一边倒的情况,比如依次插入1,2,3,4,5就会这样,因为根据我们以前的方法,会一直往右边插入,这样的弊端就是对5节点的操作将至少花费o(n)。AVL树就是解决这种问题,至于解决问题的方式便是旋转。
2024-03-15 11:09:06 1008
原创 二叉查找树的基本操作(c语言)
其次插入还必须满足二叉查找树的性质**左子树小于根节点,根节点小于右子树。**于是我们从根节点开始找,**如果插入元素小于根节点,则从左边插入,如果插入元素大于根节点,则从右边插入。,但是即使这样也要保证二叉查找树的基本性质**左子树小于根节点,根节点小于右子树。**这样我们分三种情况讨论。,若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值。,若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值。结点的值,只是让值相等,不改变树形的结构(与情况2完全相等的操作区别)
2024-03-08 22:02:29 1269
原创 链表的基本操作(c语言)
如果只是在尾部插入,或者头部插入只要按在main函数的方法既可,但是应该考虑一种可以。首先规定,如果找不到这个数,或者表为NULL,我们便什么都不做,否则删除这个节点。函数的链表删除方法,但这并不比上面的方法好,所以在总代码里面不会有它。作为参数传入函数的话,就相当于尾部插入,头部插入同理。,如果找到了返回该节点的地址,否则返回NULL(接下来的函数接受链表任意节点的指针。接下来的函数接受已经创建好的链表。下面的函数可以打印一个链表的结构。的指针,以及要查找的数字。的前一个节点,我们在。
2024-03-04 20:24:47 371
原创 根据树的遍历结果创建一颗二叉树(c语言)
二叉树的后序遍历: 在遍历过程中,节点的访问顺序是:先遍历左子树,然后遍历右子树, 最后访问根结点。对于任何给定的节点,它的左子树和右子树也按照同样的方式遍历。二叉树的先序遍历:在遍历过程中,节点的访问顺序是:先访问根节点,然后遍历左子树,最后遍历右子树。对于任何给定的节点,它的左子树和右子树也按照同样的方式遍历。二叉树的中序遍历:在遍历过程中,节点的访问顺序是:先遍历左子树,然后访问根结点,最后遍历右子树。对于任何给定的节点,它的左子树和右子树也按照同样的方式遍历。,下面的例子用**#**表示空树。
2024-03-02 15:52:52 394
空空如也
java中实现getchar()
2024-01-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人