老鸟进来讨论一上,数据结构与web开发
老鸟进来讨论一下,数据结构与web开发
今天学了数据结构中的基础知识和链表。
感觉数据结构还是很巧妙的。
我之前所了解到的,一般都是web开发不怎么与数据结构打交道。
我想问的是,在web开发中,有没有一些功能,可以用巧妙的数据结构去实现?
如果有的话,请举例子,非常感谢。
------解决方案--------------------
呵呵,不需要理会数据结构的话,甲骨文就没用武之地了
最简单的例子就是无限分类,你怎么保存分类表,影响后续数据扩展的增删改查的算法
另外,服务器群(现在好像都叫云计算了)的负载平衡等等都需要一定的数学知识
偶是门外汉,只会向大门扔砖头,坐等楼下反对意见,哈哈
------解决方案--------------------
数据结构无所不在
因为他是从实践中提升出来的
你总是自救或不自觉的使用着“数据结构”
比如你使用的 php 数组就是一个哈希表
你网站上的匪类目录就是一棵树
关联查询就是在使用链表
.......
------解决方案--------------------
和数据结构最紧密的那就是算法。算法的核心就是时空转换(时间和空间)。而用何种算法是根据要实现的功能来决定的。其实你很多时候都在用着各种算法(比如排序算法、查找算法。。。)、数据结构(树、哈希表。。。)。只不过在php这种高级脚本语言中,只是调一个函数,或者利用语言自带的结构来实现了。
楼上提到的分类其实就是个树状结构,这是个微观的例子。我举个宏观的例子:sns系统、微博系统用户之间的关系、相关度。这些都要用到很多数据结构和算法的知识。
要说数据结构和算法用到最多的领域,那就是数据库开发了。你可以思考下,mysql底层是如何存储你插入的信息,使得通过那些简单的sql语句就可以查出你想要的数据。还有就是他的索引是如何实现的。
如果你以后更多的接触后端,那么分布式存储,分布式计算,这些都要用到大量数据结构和算法的知识。
------解决方案--------------------
php 数组就是一个哈希表、?还真不晓得的、本质呢,那字符串是什么呢
------解决方案--------------------
你找本《深入php》看,都有说的
------解决方案--------------------
准确的说,是c语言的一个struct。由这个struct来实现的哈希表、堆栈、队列、向量等多种结构。这就是php底层的c语言实现。
------解决方案--------------------
这是内功
《被撞破了的脸孔》:“他打不过老头的,老头有内功!”

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











In MySQL, the function of foreign keys is to establish the relationship between tables and ensure the consistency and integrity of the data. Foreign keys maintain the effectiveness of data through reference integrity checks and cascading operations. Pay attention to performance optimization and avoid common errors when using them.

The main difference between MySQL and MariaDB is performance, functionality and license: 1. MySQL is developed by Oracle, and MariaDB is its fork. 2. MariaDB may perform better in high load environments. 3.MariaDB provides more storage engines and functions. 4.MySQL adopts a dual license, and MariaDB is completely open source. The existing infrastructure, performance requirements, functional requirements and license costs should be taken into account when choosing.

Multiple calls to session_start() will result in warning messages and possible data overwrites. 1) PHP will issue a warning, prompting that the session has been started. 2) It may cause unexpected overwriting of session data. 3) Use session_status() to check the session status to avoid repeated calls.

MySQL and phpMyAdmin can be effectively managed through the following steps: 1. Create and delete database: Just click in phpMyAdmin to complete. 2. Manage tables: You can create tables, modify structures, and add indexes. 3. Data operation: Supports inserting, updating, deleting data and executing SQL queries. 4. Import and export data: Supports SQL, CSV, XML and other formats. 5. Optimization and monitoring: Use the OPTIMIZETABLE command to optimize tables and use query analyzers and monitoring tools to solve performance problems.

AI can help optimize the use of Composer. Specific methods include: 1. Dependency management optimization: AI analyzes dependencies, recommends the best version combination, and reduces conflicts. 2. Automated code generation: AI generates composer.json files that conform to best practices. 3. Improve code quality: AI detects potential problems, provides optimization suggestions, and improves code quality. These methods are implemented through machine learning and natural language processing technologies to help developers improve efficiency and code quality.

In MySQL, add fields using ALTERTABLEtable_nameADDCOLUMNnew_columnVARCHAR(255)AFTERexisting_column, delete fields using ALTERTABLEtable_nameDROPCOLUMNcolumn_to_drop. When adding fields, you need to specify a location to optimize query performance and data structure; before deleting fields, you need to confirm that the operation is irreversible; modifying table structure using online DDL, backup data, test environment, and low-load time periods is performance optimization and best practice.

To safely and thoroughly uninstall MySQL and clean all residual files, follow the following steps: 1. Stop MySQL service; 2. Uninstall MySQL packages; 3. Clean configuration files and data directories; 4. Verify that the uninstallation is thorough.

session_start()iscrucialinPHPformanagingusersessions.1)Itinitiatesanewsessionifnoneexists,2)resumesanexistingsession,and3)setsasessioncookieforcontinuityacrossrequests,enablingapplicationslikeuserauthenticationandpersonalizedcontent.
